Foojay Podcast #29: How will AI and ML Influence the Role of Developers?
Deep NettsMachine Learning

Foojay Podcast #29: How will AI and ML Influence the Role of Developers?

Artificial Intelligence and ChatGPT are the talk of the town.

Every conference has several talks about these technologies, and on Foojay, you can find multiple posts about it.

In this podcast, we want to take a look at it from the Java point of view.

How can we use AI in Java programs or our job as a developer?

Podcast Apps

You can listen and subscribe to the Foojay Podcast on:

Guests

Zoran Sevarac

Frank Greco

Roni Dover

Podcast

Host: Frank Delporte

Content

00:00 Intro and introduction of the guests

02:31 Difference between AI, ML, DL, CV,…

06:30 How ChatGPT and LLMs works

07:50 AI with Java and DeepNetts
https://www.deepnetts.com/
10:42 NYJavaSIG and how AI and ML are influencing the content

13:06 LLM is pattern matching, not a search tool

13:41 Java developers want to develop this with Java

15:03 Foojay articles about Java, AI, and DeepNetts
https://foojay.io/today/getting-started-with-deep-learning-in-java-using-deep-netts/
https://foojay.io/today/visual-recognition-for-chess-with-deep-learning-in-java-on-android/
https://foojay.io/today/deep-learning-in-java-for-drug-discovery/
https://foojay.io/today/quick-start-with-machine-learning-in-java/

17:40 Java Specification Request 381: Visual Recognition Specification
https://jcp.org/en/jsr/detail?id=381
https://github.com/JavaVisRec/visrec-api/wiki/Getting-Started-Guide

21:51 How Digma is using is AI
https://digma.ai/
https://foojay.io/today/not-your-grandfathers-logs-a-java-librarys-new-approach-to-observability/
https://foojay.io/today/java-developer-vs-chatgpt-part-i-writing-a-spring-boot-microservice/
https://foojay.io/today/announcing-the-digma-beta-first-runtime-linter-for-java-code/
https://foojay.io/today/effective-coding-with-java-observability/
https://foojay.io/today/observing-java-applications-running-via-docker-compose-using-opentelemetry/

28:07 Will generated code be harder to debug?
https://foojay.io/today/java-developer-vs-chatgpt-part-i-writing-a-spring-boot-microservice/

32:29 Why companies don’t allow ChatGPT

34:53 Using these tools correctly (and locally?)

44:07 This is just the start of the evolution

48:05 What will AI bring to Java developers?
https://www.baeldung.com/java-project-panama

50:59 Involve other industries in the AI revolution

54:44 Machines don’t have emotions…

55:29 Conclusion

Transcript

Automatically generated from the audio, so it can contain errors in names and technical terms. Suggest a correction.

[0:00] Foreign podcast let’s dive into the fascinating world of artificial intelligence and machine learning podcast all your news about OpenJDK artificial intelligence and chat GPT or the Talk of the Town every conference has several talks about these Technologies and on Foojay you can find multiple posts about it in this podcast we want to take a look at it from the Java point of view how can we use AI in Java programs or our job as a developer hi I’m Zoran and I’m a CEO of deep Nets and also it’s an AI startup and also I’m working at the University of Belgrade as teaching Ai and software engineering I am also a Java champion and I’ve been involved in a Java Community for a while and together with the Frank Greco and my fellow Java Champion I’ve been working on Java standard for machine learning that jsr 381 for visual recognition and I’ve been involved in various ways in strengthening the support for aai in Java Community hi Frank Greco and Zoran mentioned we are co-authors of jsr 381 which we spent quite a long time in getting that approved and it wasn’t technical issues it was a lot of the

[1:28] Legal issues the painful legal issues my run the New York javasig the chairman along with six other leaders on our leadership committee I’ve been doing it for quite a long time with the very first drug ever in existence going back to the early days of java so we’ve seen we’ve seen it all hi I’m Ronnie I’ve been a developer for over 25 years which I guess makes me an old Schooler and enough of a boomer to be talking about AI was kind of I can’t compete for Frank but still and I’m the CTO of dig my eye which is a Java continuous feedback platform okay thanks for joining this podcast I’m Frank Del Porter the second Frank in this podcast this case I’m a technical writer at Azul Java developer since over 10 years not 25 not that much experience as you running yeah and I’m interested in everything which is related to Ai and what we can learn from it I think that it’s a good thing to start this podcast with really understand what we are talking about you have artificial intelligence you have machine learning you have deep learning computer vision there are a lot of terms related to this topic can one

[2:47] Of you explain if and how they are related or different I guess I can take a stamp at it not that I’m an expert by any means I guess as zoron would be the one to give the professional answer but I’ll give the Layman’s answer as a practitioner not as a professional and while there are a lot of new or Ai and machine learning is much more accessible now for developers to use to write code that leverages machine learning I think what we’re talking about today is more AI as a Dev tool or using AI to become more productive as a developer and it doesn’t matter which type of application you’re developing and in here I think everybody was at least around me it was the talk of the day a few months back when suddenly The Impossible happened and we saw kind of a field that we thought would be completely protected from Automation and any type of content generation AI became very relevant for and I guess what we’re talking about is the ability to using simple chat GPT type prompts and they’re by now I think for at least four big vendors that offer these kind of capabilities be able to generate code

[4:18] And suddenly it becomes an interesting issue for a developer about okay what is this new tool in my tool belt and does it compete with me does it make me more productive will it replace me should I be using it and it raises a lot of questions because like any tools it’s kind of like how do I use it correctly so run you as a professor can you add things that we should absolutely know about what is AI machine learning well yes to explain simply AI is a range of technology and technology that can do things that were have been done by humans so far but so it’s not only machine learning but the machine learning is now one of a dominant AI techniques it’s a one one way to make Ai and why it is so special because it is able to learn from data so you don’t program like a rule-based system you don’t hard code all the rules and all decisions and calculations but it is capable of just looking at some process and learning patterns from that and that’s why it is very fascinating because it allows computers to learn basically and now deep learning is a kind of machine learning which was able to

[5:45] Process large amounts of data and we also think process this to learn from large amounts of data and it was become possible to achieve higher accuracy than let’s say previous machine learning techniques so that’s when things started happening and when all the researchers and all the companies started using because of the rise of accuracy it was suddenly possible to use it to solve practical problems and with the progress in technology and the research there are different kind of kinds of deep learning models that been used for language processing for image processing for audio processing and all the other domains so you were saying this language models so llms I think they’re called that’s what’s behind chat GPT for instance when you’re talking to chat GPT I should not say that probably but you really feel or you get a feeling that the system understands you well actually it’s just some kind of prediction model it’s just looking for what is the most valuable word that should follow this word that’s how chat GPT Works yes basically that’s it yes but the thing with the chat GPT is in addition to this classic the

[7:08] First generation of the deep learning let’s say it is using something called the reinforcement learning with human feedback that means that during the training the model is being retrained based on a fee on a feedback from Human teachers you know you build the model then you give it to some humans to talk to it and then they provide the feedback how useful the content the response was and how to improve that content and that’s how these models are becoming very more and more human-like because that the human along with human feedback we are here in the Foojay podcast so the friends of OpenJDK now most of these systems seem to rely on C on python so run with your deep Nets tool that’s really a Java tool for AI correct yes yes so our motivation because I come from a job background I really like the technology and the community the idea was hey we want to do this in Java because before deep Nets I was building in Europe it is a educational tool for neural networks and it become quite popular for simple neural networks and the nice thing was it allowed students who did not have

[8:34] A strong background in Ai and Mathematics to quickly started learn and use neural networks So based on those principles when deep learning became same thing I’ve decided to try to build the industry grade tool for deep learning of course there are some others there or available there is a tensorflow for Java and deployment for J and now djl from Amazon but all those tools at least to me they lack this kind of Java look and feel you know it more looks more like a c API that is written in Java and also there is also dependency on various libraries even jni so it’s making unstable make it sometimes difficult to use so I want my vision was to create this something that this Java developer friendly easy to use easy to learn just from looking at the API without requirement for deep technical need for understanding the library internals of the underlying technology just to use it and integrate it in so end user Java applications and also kind of tools you know I think the tooling is something that the entire AI ecosystem was missing they are building there are many tools being developed lately but

[10:01] There is still ongoing challenges because it is ongoing research and many tools are very still very I’d say a low level very specialized very difficult to use for average user and I think there are a number of companies and startups figuring out the way to help users and help developers to create Solutions so not do AI research and not the just doing some Technical Solutions for it but for Applied a building applied AI Solutions yeah Building Solutions on top of existing AI yes Frameworks yeah Frank as you said you’ve a long experience in Java and log experience also with the New York javasick that’s the official name so it’s a special interest group I read that it’s the North America’s largest Java user group that’s correct yeah right we’re the first one and the largest North America of course our colleagues down in Brazil are way bigger than the person I get reminded of that I think indeed they mentioned it in The Jerk podcast I was talking to the Brazil guys indeed were a bit competing with you yeah so you’ve seen a lot of Evolutions I guess do you also see in the events that you organize now and the

[11:24] Attendees how much interest there is in Ai and what you can do with a huge amount of interest in Ai and ml you know it’s of course as with technologists we get concerned about the difference between Ai and ml right and it’s like the AI is a big thing and ml subset of that and deep learning is a subset of that but that’s to us the technologists right now the people that read delay magazines and watch you know things on streaming and TV they say Ai and ml are the same thing and we know they’re not but we have to talk to these people like our management sometimes and they don’t know the difference so you know it’s like as Jordan pointed out like AI is matching human intelligence whether that’s good or not is debatable but that’s what it attempts to do the interest based upon the recent chat gbt you know after I guess after the 2017 paper on Transformer architecture one ml the ml World basically got reinvigorated especially with llms the interest is just shot through the roof and you know Zora and I were we were way ahead of the curve we were talking to

[12:44] Our fellow Java Champions at Java Champion Summits saying that you know why aren’t you out we’re talking this why aren’t you learning machine learning like we would get nobody was interested nobody was remember we would ask him like there was no interest and now everyone’s interested and it’s just because of the buzz with llms and the potential and as Frank as you point out it’s it’s a pattern all it is the pattern matching thing it’s like the average lay person thinks it’s a information tool and it’s not it’s not an information tool it’s not a Search tool it’s a pattern matching thing tool and we have to use it like that and it shows you know it shows glimpses of intelligence but it’s just pattern matching because we all all everybody on the planet we are patterned machines so it’s just showing us patterns and why we’re so surprised by this it’s mind-boggling to me because we’re all powdered machines and also just with my talk set and also is orange Fox we’re getting like you know hundreds of people in some of the conferences that we speak to and everybody wants to

[13:55] Program this in Java right of course python is a fantastic language but you know when we first started out years ago it was the only language and we said we can’t let that happen and I think we learned a lesson from the web when the web came out it was like this is great like well but you can only program in JavaScript you know it’s like it’s like what Henry Ford said about cars you can have you know any color you want as long as it’s black right so I didn’t want that to happen and all things aren’t wanted that happened again too you cannot express the world’s creativity through one portal for one way you just can’t it’s just that’s not how humans are so we didn’t want that to happen so that we’re trying our best to help the Java Community which are millions of developers you know uses this tool that’s that’s a huge gift to humanity we’re recording this podcast on the day that Java 21 is released and what you say is competition is what drives a language the evolution that we now see in Java or inspired by other languages and vice versa and that’s that’s really the great thing about

[15:02] These Evolutions also what you said is very true it seems to be very new as chat GPT is has been become famous this year but Zoran you have been writing articles on Foojay already for a few years where you were illustrating what you can do with deep Nets with Java in artificial intelligence can you give an example yes of course so basically a very simple example is to recognize images to classify images so if you feed an image to a deep learning model it can say what what’s in the image to classify image to put in a specific category then also that’s something that’s very easy to understand next you can predict patterns and classify data items for example if you if your input data is not the image but like CSV file and you have examples so for monitoring your let’s say server performance and you want to detect anomalies or if you want to say whether it is high or low load but not based just on the simple trigger threshold taking multiple arguments you can say put in a specific category and also you can for example try to predict which is like a numeric prediction to predict the

[16:34] Value of something let’s say a predict number of clicks or number of users or the specific value of the server load or any anything else that’s called so-called regression problems in machine learning which is in human language let’s say numeric predictions so you can predict to guess a value of something so you don’t have a specific formula because it is usually some complex problem which is not easy to like calculate but from historical data assuming that the history will repeat you can build the model that will give a best guess for some set of observations so basically these are typical machine learning tasks that you can do with deep Nets and it is a task that is covered by this standard Java API so basically we have a classifier you have a regression model and you have image recognition model so these are the basic tasks that we started from and to get to this Java point of view what we wanted to do with the jsr is to create the kind of collections API for machine learning because even if there are lots of different MLA libraries in Java all of them are using

[17:58] Their own terminology their own data set they require a strong background in statistics in understanding machine learning so we try tried with the jsr to hide it all under the hood so we want to provide a simple meaningful task oriented API that can be Sim easily customized and evolved over time so I think that we have succeeded in that given the by the reactions by the way also our friend and author can Fogle from Canada also job Champion he gave some talks about jsr and gave some courses and people were very surprised and some of the directions were hey this is way easier than doing ml in Python you know so thanks to the jsr it is even easier for an average Java developer who is typically application developer not numerical computational or statistics for math developer but you have like application developer can use ML and not just to use just to take other people’s models and put it but to build their customize and build their own models and put into their applications and this is all in this GSR 381 yes this is jsr 301 is like a touch point between the end user application and this

[19:26] Deep Nets implementation we have Community Edition of deepness which is like a reference implementation for this jsr and also there are in a full commercial version there are tools and much better features but they are all like a free for personal and for development purposes so a GSR is a Java specification request does this mean that this one day Java 22 23 will be there included or what is the future of this GSR no actually jsr is not about becoming part of java it’s like a supporting job for different types of application it is very difficult to get into the JDK and to maintain it and that’s like more like a jab thing but when we talk to the people from JCP and before started starting it they told us this is probably the best way to go for so the future of jsr is to get more adoption and to get more Java libraries supporting it the python ecosystem is very strong because they are all very very close to each other they are reusing each other you have numpy you have psychic learn and of course you have tensorflow and pie torch but all of them are using a very

[20:56] Very similar libraries and the entire for data processing pandas for graphics matplotlib and so on NC board visualization and statistical processing they are all very well integrated so the idea with jsr is the jsr is that the glue that will pick different put together different implementations of machine learning libraries and I must say that we had a successes of fabulary we have a djl implementing parts of jsr and or also I know if there are any else Frank at the moment but hopefully the there will be you know we were very pleasantly surprised when Amazon implemented our API somebody over there had a written an article and we were pleasantly surprised like wow this is pretty cool Amazon thought it was quite an important they actually implemented the API Ronnie at digma you’re using AI to help developers analyze their code while developing it can you explain what you’re actually doing it’s interesting to see how kind of the worlds are mixing up even in my vocabulary because yes we are using AI to analyze observability and to make it relevant because one

[22:19] One of the things that we found was that observability as a whole can be kind of like spam it’s a lot of raw data very hard to sift through and if it requires cognitive effort well it’s probably not going to happen often that you kind of sit yourself down in front of a stack of traces and try to find what was different this time with your code run so many of these kind of types of applications that zoron was referring to if it is anomaly detection to understand if something is different and if it is prediction if it is being able to Cluster the data and understand kind of okay how can we identify different things that behave the same way or that are groups that are useful to refer to as kind of a flow within my system again sifting through a lot of data so those are really important applications and as we were going through the Journey of develop being digma there was also always kind of being conscious of how do we use the right tool for each task it is very tempting to throw everything at AI especially in the age of AI hype and I’m a big believer and as I’ll kind

[23:43] Of talk more through in a sec you’ll find me kind of in the camp that is pushing towards as much use of it as possible but still sometimes when you’re holding a hammer each problem is a nail and it is easy to kind of I have personally seen my own developers In the Heat of the Moment and in the enthusiasm try to solve mathematical problems or problems that would much be more simply solved with Statistics with yeah just because you know they could so a lot of the times as in any programming task it’s about how to choose the or the right approach and manage complexity and all of that but certainly what we’re capable of doing today and much more easily is a big changer in how we approach these problems because if before I had to perhaps spend a lot of time just finding developers who could do it or just trying to put together the right libraries today it is more a question of selecting what I want to do than how I want to do it it’s it’s kind of become much more accessible for organizations the other aspect where we’re seeing AI applications is in supporting developers that use gen AIS in their

[25:13] Day-to-day because gen AI code is a new type of Beast we didn’t have that before sure we had copy pasting from stack Overflow or what and whatnot and a lot of people make the analogy but I don’t think it’s very good analogy because yes nobody actually would copy paste from stack Overflow and it would work as is like a seldom you would not actually modify the code or kind of customize it and here is the situation where a lot of codes that gets into repositories that gets into production was written by this invisible team member that nobody’s ever met and that you can’t complain to I have personally seen in our code base somebody add the prompt as a comment above the function the statue PC generated and I saw this and I was Happy Days this is awesome I want to say more of these kind of things but you know as as you know it’s a bit quirky but I think it’s just an indication of the fact that we’re going to see much more of that I think I recently saw a study I think GitHub is pushing this a lot where they found that developers using AI are kind of 55 faster in delivering code

[26:35] Or whatnot and I think that’s where we’re going to say much more people use it much more organizations use Ai and where we fit in this context so what we’re trying to do is to say okay we have this code nobody knows who wrote it it’s we know less about it because it’s kind of this piece of code that somebody wrote how do we evaluate it like how do we get more data about it to make it safer to use to make to add some guard rails so that I feel less trepidation when I push and pray this code into production after I’ve generated it it’s kind of like encountering AI in various different ways and I think the last interesting thing that we’re going to see and I think Zoran mentioned it as well is the whole area of mlops and that’s where I think there is a lot of innovation still to be done because you wrote Ronnie a post also on Foojay but he asked chat GPT to create this or is it a spring boot application for you yep were you happy with the result was it a good teammate chat ubt yes or no and I’ve been working on part two but I’m just chasing too many rabbit holes it’s just so interesting I

[28:53] Think right now where the technology stands in terms of kind of saving a lot of time and generating boilerplate and finding the right interfacing and seeing a live example that no it’s kind of an extrapolation of other examples but is very specific to your use case it can save a lot of time and especially by the way for rusty old developers like me who may go into kind of I’ve never used in this in my example I was trying to use the Jackie PT Library itself I’ve never used it so kind of seeing an application scaffolding that is very easy to dynamically generate and having the to write less code and more kind of review and integrate it definitely made it faster however Chachi pity as everybody knows has been known to very confidently lie and very confidently spew out lines of code that are either nonsense not compiling or just you know not not on par with the standard that you want for code that you introduced into your code base and the problem is it’s it’s sometimes harder to know which is which so throughout this experiment and other experiments I’ve definitely run into situations where Chachi PT was giving me

[30:16] An implementation and it was completely false and I may not have noticed it because either it was and you know if you confront chantipity about it and say hey this isn’t what I asked for and look and it will acknowledge its mistakes some generative AI some llms are more stubborn than others I’ve been using Bard as well and Bard will argue like for long hours it would argue and eventually after admitting the Fate it would say yes you’re right the point is that the I kind of treat it like consulting or delegating a task to a junior developer who is also full of himself and he would say yeah yeah this is the answer don’t worry about it so I could either not worry about it and just accept the code into the code base or probably not a good idea or I’ll need to think about okay how do I make sure the code that is being generated is has enough it’s clear enough or contains enough observability or whatnot or it’s something that I can trust and I think that’s kind of the next Gap the other interesting question is what type or how abstract is the task that you give to chat GPT in my example I was

[31:36] Giving it very concrete task build an interface for that build an API for that it it’s another world entirely to say build an application that delivers this and this is kind of an another kind of step in the level of the abstraction where it would be interesting to get to the state where I would say you know not build me a spring boot application with this API that does that but give me a spring boot application that would allow me to and then having that be something that’s efficient as well I heard already that we are as developers are safe because to for jet GPT to work correctly it needs clear specifications from a project manager so we’re definitely safe something that never happens so we still need some development involved you set a few times trust which is one thing a lot of companies don’t allow their developers to use chat CPT or other kind of systems so this is a very open question is it indeed a risk that your question is used again as a training if you’re working with some kind of support tool in your IDE and it’s sending back your code to the system that becomes the

[32:56] Training set again is that indeed a problem that is a significant problem that is probably the number one reason why companies won’t allow their developers to use it it’s illegal it’s illegal and it’s a security issue by the way the paper that said that developers are more productive with llms was written by Microsoft researcher so you know you have to find out where who’s the author and where the is the author from so just to be careful careful of that yeah it’s definitely privacy I mean we know the story of the Samsung Engineers that we’re talking about an unreleased products which at gbt and all the information that is now being used in the model itself so that’s not smart to do now Microsoft and Azure offers private instances of chat you have their version of chat gbt and I’m sure the other companies like coher has Enterprise versions that are private this is mimicking the cloud Evolution too right so there’s there’s private llm so there’s also the legal aspect of using codes that’s generated by an lln because it was trained on things like GitHub and

[34:09] I’ve been reminded by several lawyers that it could be potentially in a few years from now that these companies get sued and you’re you will be sued so do not upload in a generated codes to a repo that an L on generated so because there’s there’s legal issues I mean as a small developer yeah you could do that if you want to take on our risk but if you’re an Enterprise your entire Enterprise at risk but how will they prove that it was generated is there a clue to find back that it was generated by an llm that’s a good question how to do that maybe it’ll be an llm that’s used as a tool against another llm that will find back the source yes you said you can now start running it in private Cloud environments are these tools becoming so small and portable that you can just run it on your PC so that you’re really isolated I think the evolution is going that way I mean all the big companies that had llms are afraid of the open source community and I think they’ve been public about it too these things are getting smaller faster I mean deep Nets code run can run on a Android device so it’s

[35:30] Getting smaller and smaller in and we’re just the whole we’re just on this curve of the usual curve smaller better faster cheaper right that that’s that’s where we’ve been on all our careers and it’s going to happen also with ml yeah but also there is a big difference in running and building the models training the models training the models it needs clusters with the tens dozens of gpus and that’s a whole lot of different things once you build the model there are models that you can even open source model that you can run on your laptop it’s not super fast but it works and I think one what the pie torch and Facebook and the only con are doing is very important they are truly open sourcing their models there’s a llama llama 2 or version available and it’s like a balancing between what open AI is doing basically Microsoft and probably just the API to use it and also Bard from Google but not fully opened I think these models are really fully open and if you can do it to build the models for yourself but only if you have a cluster for gpus there so enormous and have like

[36:52] A 100 data scientists and additional stuff that work for that for a few months and you can spend a few million dollars for building those kind of systems So in theory you can run it you can use it but it is very difficult to build it so the way to go is to customize existing models and I think this open license that our llama model is available now is there like a big step to opening truly opening this technology to the community instead for instance a model that’s in deep Nets well diplates at the moment it does not support that kind of huge models so we are looking for a right angle to go for it once we figure out where the things are going at the moment deep Nets the big milestone that is going to be achieved recently is to provide a really good support for GPU for from Deep Nets and then that will make things significantly faster and interesting but I don’t think for deep Nets is to go to re-implement like a pytorch from the scratch or something like that but more like using her from the Java in a Java friendly manner so we are still looking

[38:14] For the right the best way to do it which also depends on the application and but I would just like to add what the Ronnie and you Frank said about this using LMS for the programming I think that we are now in the phase when we are figuring out how to use those tools so it’s not just the tools will not replace programmers but it will make programmers more productive so not to completely put the programmer out of the picture because llms do not understand what they are doing and they don’t understand the Logics they just generate text they are very good at generating text but they have no idea what the code is doing they learn along the way they are improving but if you need like a human level create activity it’s still it’s still not the case maybe what I’ve been listening is using strategpt as a pre-program pair programmer you know who will help and like a delegate some part of the task but a very simple example when we gave Richard GPT prompt or write a image classification in Java it has outputted the code in Python you know because all the examples for image classifications

[39:37] Very python you know so it uses the python tensorflow coil so it has no idea what it is doing but it looks like kind of it now so what it is very convincing liar as you pointed out I could not agree with that or by the way and I think it’s kind of a very transformative phase where we’re making adjustment those from the technology side and what Frank was mentioning the organizational or kind of Enterprise event side where we need to learn how to use it now it it’s it’s there and companies that will not find a way to leverage it will eventually fall behind because it does affect and help productivity the question is how do we do that and we’ve I’ve seen kind of the same debate around Cloud right when Cloud was there yeah banks will never use cloud I was in situation I was talking to fintech Enterprises and they were like no Cloud us never and today they’re all there right so I think it will just be finding the right compliances right tool links right guard rails and assurances to make it possible it’s not as easy as just starting to use it and the same vein kind of the from

[40:55] The technology perspective if this is to be a Dev tool then it needs a lot more data a lot more context and automation to make it really into that sidekick the dream sidekick that we all want to have so you know just working on my example which was very simple I was missing a lot of features for example defining code conventions defining different libraries that I want to use defining different things that it could would be able to study for my entire code base and then replicate or create for me code that is kind of in line with the other code that I’m writing using the same conventions if I’m writing all of my app in reactive mode or I asynchronously please match that and the generated code don’t let me spend so much time phrasing prompts or be able to automate that part having the entire project as a context a lot of different things that would eventually take it three steps forward but I think that one thing that we need to take was a grain of salt and I don’t know if zoron you agree with me but I’ve heard a lot from different data scientists who were kind of skeptical in saying what

[42:18] Would it’s true that we’ve come from like zero to 80 very quickly but the last remaining 20 to make this a perfect tools are also the hardest ones to accomplish so it’s not a simple case of linear growth sources oh right we did this in a year let’s imagine where we’ll be in another year progress might be slower because the prog problems that we have remaining are also really the toughest ones that were very difficult to solve yes I agree absolutely but that’s the case with the every technology you know it’s always the last 20 percent or maybe even less seven or five percent I mean we got Transformer models like first paper in 2017 and like a first model from open AI right in 2021 and five years later we have something that everybody is using and talking about and it’s completely interesting so I think in the next five years it will definitely some of those problems will be solved there is a open question is it possible to solve because you know the so-called hallucinations there are bugs it doesn’t work as expected and we it is difficult to figure out why so more very technology

[43:37] State for and the research about explainability and how as you ask how do you know if anybody has used some some data for training and how much data do you need to make impact to it if you there in a huge amount of data usually you need the huge amount of data to change something to find patterns dominate so now that there are lots of open questions but I think they will definitely be solved we’ll see you now with the hallucinations I mean I think the early llms will boosted it quite a bit but there’s been a lot of work in prompt engineering I mean that’s arguable whether it’s engineering or not but it’s prompt engineering I mean I’ve seen prompts that are like 10 pages long and it reduces the hallucinations but that’s a that’s a lot of text to be sending whatever with every query to the llm but there is a lot of research being going on in prompt engineering and fine-tuning of models and I and we’re we’re still at the start of all this I mean this is a fascinating area you know it’s one of those in your career you get a chance to ride waves in your career this is one of those big

[44:48] Waves right you know we kind of looked at web 3 and crypto no not really so I want to write this one this is the big wave I want to surf in right so it’s it’s quite exciting we are at the start yeah my concern about all this I mean yes we’re talking about it from the technical aspect but there’s the other aspects I mean there’s a legal aspect there’s a society societal aspects of this you know this will put many people out of work I mean this is undoubtedly what a lot of people out of work because it will make companies more efficient will we have a lot of big companies in the future or many smaller companies because the tool will be available to a lot of people that changes things that changes employment that changes people’s lives that changes countries directions this is a this is a pretty wild time to be alive in his field because it’s not just like about where semicolon goals in the language this is this affects like geopolitics so it’s it’s a pretty exciting exciting invention and it’s not not it’s not really something I mean certain zones will work on it for quite a long time

[45:53] You know my graduate project was Lauren and I are musicians so my graduate project many many years years ago the Disney galaxy far away a distant Galaxy was looking at Melodies and generating original Melodies but in a certain style so I didn’t use embedding a vector database to do this I just especially had a tree of probabilities but that was generative AI so that was many years ago so it’s it’s it’s not exactly something brand new it’s been around for a long time as a matter of fact it probably goes back into like the 40s and 50s so some of this technology but My worry is how do we help the people that are not technologists you know that are not like us right that’s my worry and also what two years developers will not be replaced by AI but will be replaced by developers who can use AI exactly exactly that developers will disappear that has been predicted already a dozen times in the last years with each new technology in each new no code and what do we have seen in the past but it’s really starting to use the tools that become available and learn how to use them and

[47:13] Then make them the best profit for yourself exactly it’s exactly right and the worry about this AGI and super intelligence and maybe it’s something you know beyond AGI if you notice that the people are saying this are all computer scientists I think it’s very egocentric for our own industry for us to be the only projectors of the future I mean we’re talking about languages here with llms why don’t we get Linguistics and psychologists and other people in other areas who are also experts in their domains talk about the future and not us who invented these things I want to talk about I think it’s a little egocentric of us to do that you know that’s really a topic for the next podcast is get some people involved who are not indeed software engineer and how they experience the whole chat GPT and other Evolutions what can we look forward to as Java developers will we see new libraries appear new technologies in the gvm what do you see in the next years that will help us to use AI I want to mentioned Panama yes of course the Panama is being announced like a big game changer that will solve AI for Java

[48:30] And it is the case of course but to some extent you know Panama is just the first step of making it possible and not painful to build application a application top of JVM by but I think it will take some time to that for that to happen so to build entire ecosystem of libraries and tools that will be using Panama and again even if something like that appears I think the things like jsr that we initiated for machine learning is essential for bringing them together because if that ecosystem stays fragmented in the same way that it is now there is no way to evolve and make for further progress because python ecosystem is really ahead of everything that is available in Java and as you can see all the latest Innovations is being built with python right so GPT jgpt is built on pytorch right so I think that and not only the technology they are using all the research is being carried on those tools so it’s not just the libraries but it’s all the tools around those libraries existing tools and all the developers and the researchers and new innovations that are being built that they come from that ecosystem so it

[50:09] Will be difficult to compete so maybe not just not the way to go to compete but to find the best way to play along with you know and maybe to some users it is enough to be able to use those models from java just to call Maybe from Red service or have a like a simple Java class wrapper that will talk to some other library but I think for Java in order to say competitive and Innovative and what it has been for like a previous two decades it needs to find a way to run and build and innovate the AI on JVM we already mentioned that we should next time involve some other people from other Industries there is the whole discussion for instance about art generating art which is also trained on existing images and Painters and all that stuff that artists have made is it something more that you think about this topic yeah I think first of all it’s there’s definitely a lot to be learned from other Industries here because they’re dealing with these same questions so in the same way that I often advise developers to look at how other let’s say programming languages deal with

[51:37] Certain problems and what type of abstractions they produce it’s very worthwhile to see how other kind of professions are dealing with this new found capability and how they are handling it I’ve seen designers that are completely freaked out by the fact that mid-jna can create these amazing results but then at the same time my journey is not enough and as much as prompt engineering is amazing there is still a way to go and there is still a lot of thought and crafting and iterating and you know you mentioned that about software projects and software projects have so much communication in them and so much kind of figuring things out that like I hope I’m not making kind of a will never need more than 160 characters or six 640 kilobytes is enough type of prediction but I don’t think like the developer the software developer profession is going away at least in the next five years I think we’re safe I think it it’s more a matter of how do we use it in the right way and indeed graphical designers that are today not using chat GPT or may Journey or something to get I don’t know a draft

[52:55] Faster or to get some sort of concept to iterate on are just falling behind and I think in the same way and this will take some time and you know the industry is conservative at least the big companies and it will take some time to get to that stage but we all need to see how and where it does help us and where it does it’s kind of like a Natural Evolution to start using it and see how it can improve our work for example for me it’s been a while since and maybe it’s it’s devolving my brain but it’s been a while since I’ve worked on a regex because chat if it is become my vertex friend I just describe the regex that I want and immediately it’s there it’s something small it’s not as Grand as creating a spring boot application to work with an API but it’s a big productivity boost that’s why I think kind of it’s it’s definitely worthwhile to see how we can learn from other Industries how we can use it understand that the profession is evolving and I think it’s a super exciting time to be kind of a part of I’m also reminded of examples from our own past and software development I

[54:10] Remember people said yeah testing is going to be obsolete with test automation it wasn’t it became something else we started having automation engineers and testers learn to balance manual testing with other techniques and I think we’re at that kind of a stage now that’s ironic right yeah you said mentioned regular expressions like regular Expressions were invented to experiment with ML like that was the original motivation for inventing reggae and now you’re using it in reverse actually the circle is round yeah well you know but one thing I should point out as as since Lauren and I are musicians you know you read about how this is gonna create music and create art that implies that the machine has emotion and I don’t think that’s true so yes the graphic artist yes okay I wouldn’t tell my child to be a voice over actor at this point but music that implies you because music music is the expression of emotion so if a machine if you’re if llm is generating music that means it has emotion and it doesn’t so what if emotions are patterns as you said everything is a pattern right and

[55:30] That’s the conclusion of this Foojay that we next time need a philosopher in this podcast okay maybe we just need to set an appointment in one year and five years and see what has happened because it is evolving very fast but indeed taking those last steps to achieve a perfect result that lost 20 percent that will be the hard part to take what if we all look like the Borg at that point yeah I’m already stopping Amazon foreign thanks a lot for joining this podcast recording my guests thank you for listening to the podcast keep an eye on Foojay for future articles and podcasts about development and everything related to the Java World thanks a lot thank you very much of OpenJDK

Found a mistake, or something to add? Edit this page on GitHub

Written by

Frank Delporte

Frank Delporte is a Java Champion, Java Developer, Senior Technical Writer at Azul, Blogger, Author of "Java Programming for Raspberry Pi - A Hands-On Guide to Electronics and IoT Projects", and Open-Source Contributor for Pi4J, Lottie4J, Sheetmusic4J, …

Related posts

Join the discussion