Foojay Podcast #12: State and Future of the IDEs
Deep NettsEclipse

Foojay Podcast #12: State and Future of the IDEs

In this podcast, we are talking to some of the key people working on different IDEs, Integrated Development Environments.

Those are applications that provide tools to computer programmers for software development.

An IDE typically consists of at least a source code editor, build automation tools, and a debugger.

Let’s learn how these tools evolved, and the challenges they face to stay up-to-date with the many evolutions in Java and all other programming languages.

And what we can still expect in the future!

Podcast Apps

You can listen and subscribe to the Foojay Podcast on:

Guests

Host

Content

Transcript

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

[0:00] Hello and welcome to this new edition of the Foojay podcast in this session we will discuss Ides the tools helping you to be a good developer welcome to the Foojay podcast all your news about OpenJDK today we are talking to some of the key people working on different Ides integrated to development environments applications that provide tools to computer programmers for software development an IDE typically consists of at least a source code editor build automation tools and a debugger I’m curious to learn how these tools evolved the challenges they face to stay up to date with the many Evolutions in Java and all other programming languages and what we can still expect in the future so hi everyone I’m Helen Scott I joined jetbrains Midway through 2020 after the pandemic had hit and I pivoted my career from technical writing so I started off a long time ago as a Java developer and I’ve always loved content creation and working with developers but it was a conversation with Tricia G who used to work at jetbrains that really sealed the deal for me and I was I still am blown away by what IDs can do for us these

[1:13] Days and I love the IntelliJ IDEA can do the heavy lifting for me so we as developers can focus on what we do best which is solving problems so my role at jet brains combines my passion for learning new stuff continuing to work in the software ecosystem and creating content so it’s a perfect bundle in fact I loved working with IntelliJ IDEA so much that I wrote a book on it with Tricia G I’m going to put a Shameless plug in here the book is called getting to know IntelliJ IDEA and it’s available on lean Pub as an ebook or Amazon if you want a physical copy hi everyone my name is Nick I actually started as a developer at Microsoft when I graduated I work at bing and a little bit on the search engine for a bit three years then I actually quit to start as a startup and then I kind of work in the education sector and the startup is to teach kids coding so still related to engineering and that I think that is when I found my passion to product management after three years I actually I quit the startup to rejoin Microsoft developer division to my current role and then I joined the current team as the Java

[2:32] Tooling and now I’m working the visual studio code Java team to work on the Java language support for visual studio code my name is I’ve been involved with netbeans quite a while about 20 years I suppose from when it was involved and part of sun Microsystems to the point where it got to Oracle and now in Apache and the two things I’ve always really appreciated about working with Ides is that you end up being at the center of the ecosystem because all the different Technologies and languages plug into your environment in one way or another and the kind of network you’re able to build up on the one hand and on the other hand what I found really interesting as well is that the idea of being a Swiss army knife so that’s really what netbeans has been about you open it up and you could do anything you want and so that’s been my background in netbeans and what I’ve enjoyed about using it hey my name is Martin I work for VMware and I’m part of the course Spring engineering team so that’s the team behind the spring framework and spring Boot and all that stuff and my role is to lead the team the sub team

[3:49] The small team around the tools so building developer tools for spring all the basically IDE extensions that we build for eclipse for visual studio code and for other Ides as well so trying to make people using spring boot more productive every day and make their lives easier thank you for joining this podcast from the introduction we already learned a bit about what an IDE does but with all these specialists in the house who can tell me what the perfect idea looks like without pushing your own products I have a feeling all our answers might be quite similar here but for me it depends it is really that classic answer of it depends and it depends on your goals and your way of working and your tools and the ecosystem and your existing knowledge and your time skills and probably other factors that you know I could keep people here for a very long time but ultimately it’s an IDE it’s an integrated developer environment so it’s your environment it it’s it’s what works for you at that time that for me is what makes the perfect IDE I would say that a perfect IDE is what

[5:03] Microsoft Word is for example to somebody writing a book so when you’re a programmer what kind of tools do you need an editor you need some connection to where the code is stored you need some refactoring etc etc etc so what you know what are the typical tools you need but then combined with performance because the more tools you provide in your environment the slower it could become the more buggy it could become so finding a balance between the tools that you want to provide and the performance and usability of the end product yeah I think the IDE should really make the developer more productive it should not should never get into the way of the developer doing coding it should really help them and make them faster writing code executing code testing code debugging code all the stuff I think that’s that’s this the thing that I have in mind all the time is I’m really trying to make people more effective and basically make the lives of make the lives of developers just better and more enjoyful I think I agree with all the points above and I think extensible being extensible is also

[6:14] Very important I think we see that in other the IDS we work with there’s like a Marketplace or in the plugins we allow the third party developers to develop develop their own you know plugins to work with the you know a lot other Frameworks they need to support in their projects so I think that’s also are pretty important yeah thank you and we have now different opinions but from each project so that’s very great when I started programming and doing web development it was Microsoft front page that was my very first product but that’s going way back in history we had Adobe Dreamweaver in between which actually that’s where I learned that the tool can do a lot for you with generated code and a connection to a database but what I’ve also seen is that Ides are not only a program there’s a whole Community around it like you said extensions from video Studio code netbeans itself is also a community and this has been built a lot on top of netbeans can you tell us a bit more about that yes well there’s different points to make here the one is yes different products have been built on

[7:30] Top of netbeans because it isn’t simply an editor or it’s a not simply a Java code for focused environment but it’s also a framework so I’ve actually traveled a lot around the world to different companies where Java Swing desktop framework turned out to be really useful and so that’s one aspect too at the other point is the community I think without the many years and the extensibility of netbeans we wouldn’t have been able to transition from one company to the next company as we did and now into Apache where the community that we’ve built up around it using the apis using extensibility creating applications on top of it that Community now is continuing to maintain and develop it further in the Apache software Foundation I think we’ve seen a bit the same thing with springs it’s a product of VMware but actually a whole community of other tools supporting spring and vice versa something you can tell us about that Martin yeah sure I think it’s a huge huge community that got built around this open source projects and being open source is of course one of the major drivers behind

[8:42] That right because everybody can adopt that and everybody can take a look inside and at the same time I think it was just super easy to use I think that was one of the it solves the real problem back then when spring was invented and it was just easy to use through easy to adopt easy to dive in and solve through real development need so I think those were the main drivers behind growing the community around that and being open to that at the same time I think you you’ve seen the same at eclipse for example from the ID perspective looking at that as well because it was built in the early days it was really built with the extensibility idea in mind right it was really built even though the first versions looked like a Java IDE it was really a platform for building Ides and the Java IDE was just oh we need to build up one example to show people how to build Ides on top of this platform so let’s build it kind of the Java extension for the platform and ship that was reflected in the internal architecture of the Eclipse IDE itself because it was built out of these kind of plugins but plugins was not a

[9:59] Mechanism to extend the IDE it was really kind of at the core of everything right every little piece of the every little component of the whole thing was a plug-in it has an API and was using other plugins or whatever other components nowadays you would maybe also call it modules or whatever or GI bundles or whatever but the core idea was really to build that out and build the whole thing as an extensible system from day one and that allowed many people to jump on that and many people to do basically all the different kinds of things on top of this platform like building Ides for different languages building Ides for different environments building even not IDE products basically in kind of the same direction and then I would give you was mentioned about netbeans people building business applications on top of the same platform which is kind of which is a bit weird because you’ve built a platform for Ides and now people kind of grab that and build crazy other stuff on top of that and nowadays you see that it’s not it’s not it was maybe not always the best choice to do that in every case but

[11:13] It was kind of an interesting prove that this was a really extensible system and there was a huge Community growing around that even kind of ending up with this Eclipse foundation and now being an even bigger Community Beyond ideas you mentioned osgi I think wasn’t Eclipse built on top of ovgi yeah the actually the first version of eclipse the eclipse are born and Eclipse 2 was not built on top of ogi they had their own plug-in mechanism so their own kind of creating a class loader for loading those plugins and having an XML file like a plug-in XML for describing dependencies or describing extensions and dependencies I think and then I think there was a switch from Eclipse 2 to Eclipse 3 where they rethought the internal architecture about the plugin because people were from the community were asking for more more features more flexibility more Dynamic behavior and things like that it was not built into the kind of homegrown little plug-in system that they had and then they did this a major work internally to adopt a knowledge GI runtime below the eclipse plugin architecture so

[12:31] That people were basically being able to build plugins for eclipse the same way as they did before but now running all GI behind the scenes for that and then they opened up all that stuff to kind of the oci apis and you were just more or less be able to not build a plugin for Eclipse but building random osgi bundle and put that into the eclipse runtime because it was running on top of an old Jam runtime but that was actually a shift it did not start that way it just evolved into running on top of osgi with a lot of interesting challenges along the way and things that the osgi community is not that happy about it was a paint from time to time you mentioned open source Martin all these editors that we’ve already mentioned are open source or free Helen also IntelliJ has a community free edition Yes actually jetbrains is a company based around IDE so you really made a business model out of this how is that possible because there are many amazing free tools I pay for no no I have a free one I have to admit I have a few because I work on an open source project but most developers pay

[13:56] Or a lot of Java developers pay for an IntelliJ license how is jetbrains able to build a company on top of this I think there are multiple reasons as you’ve already mentioned IntelliJ IDEA Community Edition that is been a big part of our success there’s lots of other reasons so at jetbrains we genuinely believe in building good quality products which people don’t mind paying for and we focus on providing the best experience that we can so we’re driven by wanting to help developers by creating these great tools and doing that in a sustainable manner it means that our incentives are they’re aligned with that of our users so we need to build those good quality products in order to iterate on them and continue to invest in the development of them it’s not just about the development though as well it’s worth it’s worth mentioning the QA and the support side of things because for our users it’s about knowing that we are here for them and we are invested in supporting them and the technologies that they’re going to need and use at any given moment it’s also you know we really do strive to be responsive to the community

[15:00] And always do better always improve and I’d be remiss if I didn’t mention people it sounds like a cop-out but quite honestly genuinely awesome people of which jetbrains has has many and that makes a big difference for us as well it’s amazing what jet brands has done and I think this is maybe the way for a development environment to be created that is really performant and functional and full of features and stable and constantly developing if there is a company behind it I mean that’s the ideal situation in many ways that’s how you know for sure that you know if the business model is based around the development environment and you know then you’re in a good place with the tools that you use absolutely it’s actually it’s wonderful to be a part of because it’s you really see the difference that we make and obviously you know you get feedback and that’s one of the wonderful things about being a developer Advocate as well is you get to stay so connected with the community and see and hear what’s going on what’s working what’s not working what can we do about that and that constant feedback

[16:12] Loop and again they’re striving to do better to improve to Pivot to change according to what our community and our users need at any given time I think also that companies put it on a faith in a product that is backed in that way if you’re looking around for a developing environment and you know that the business model of the of a particular company is based on that development environment and it’s been around for a long time and so on then why would you not use IntelliJ from jet brands a I firmly believe in I think jet brains do very well is something that you mentioned Frank in terms of supporting open source projects with ultimate like supporting Academia supporting students in that respect I think that’s something else that is it aligns very closely to my moral stance as well so I think that’s something that is definitely a strength of us it’s very nice to hear such kind words of kirtian who’s from the netbeans team towards just brain so that’s what I also have loved in the Java community that we are all striving together to make Java better and yeah of java but I think the one key reason why Java has

[17:31] Been so great for so many years and is so popular and so on is because of the great tools that there are and that there’s choice so I think all of us contribute to the success of the Java Community together yeah and that brings me back to Microsoft before I did Java I was a c Pro C sharp programmer so I’ve been using a lot of Microsoft tools at that time there was a competition ongoing between c-sharp and Java and what we see nowadays is that Microsoft is one of the biggest committers to the involvement of java and then we have Visual Studio code now that is a full Java tool if you install the right plugins Nick can you share a bit of that story of how Java evolved within Microsoft we always get feedback from some of our users that you know just you know grateful that we have Java or Visual Studio code sometimes and actually Java and visual studio code have a little bit of History I think backing about seven years ago there was a hackathon in Switzerland hosted by the visual studio code team so I think the hacker style is to understand the language server protocol

[18:50] Basically that was the core of the eclipse ID the building block of the eclipse ID to understand if we can have some sort of concrete to have a support in Visual Studio code and the result of hack sum is the one of the very basic or fundamental extension of the language support extension today that millions of people are using which is your code called language support for Java yes Visual Studio code and that actually was the result of Engineers from both red hat and Microsoft and some other company as well so based on that extension from I think 2016 both companies just started building features and features extensions and extensions after that so we added you know debugger you know project manage management extension and then Maven support Gradle support and of course we work with VMware added spring extension you know seven seven years later 2023 we have about 2 million Java developers using Java language support I mean Visual Studio code so that’s a you know a simplified version of the Backs the history of the Java Java support on

[20:28] Visual Studio code just one more thing to mention that actually Microsoft has been investing a lot in Java the Java ecosystem recently that we actually joined JCP last year actually in 2021 and now we are part of the jcpn the starting to take an active role in gcp and you know try to work with the gcp specifications on Foojay we have several blog posts around all these Ides I see Nick you posted a few about the Java updates specifically for visual studio code this is a great one by marit a colleague of you Helen about presenting with IntelliJ so several posts on Foojay we will add links to the show notes that you can find them back very easily and there’s also an interesting article about netbeans where AI is integrated into netbeans to create a tool is this something you can tell us more about here there’s an amazing developer called Zoran Chevrolet who is in Belgrade in Serbia and he’s a Java champion and he’s created a deep learning environment on top of netbeans for machine learning with a lot of tools and drag and drop and visualizations and graphs and charts and things like

[21:51] That with J free charge and also some JavaFX integration all on top of netbeans it’s been amazing to see the different contexts in which it’s being used for example there’s a story on Foojay about Chess analysis via this tool there’s various other articles on what people are doing with machine learning using deep Nets so that’s the name of this tool on top of netbeans so yeah that’s that’s really been a great development Martin so you’re the lead of the spring tools project you have experience with all these Ides not gonna let you pick a favorite will not be fair for the others but can you tell us more about how this development is done for these different Ides yeah I think in the early days the really first incarnation of this spring developer tools for Ides was built on top of excess because it was the premier Java development environment back then I think it was kind of 2006 or something like that done by a few people and the goal for us and for the team was always to make spring developers in the world more productive so our goal was never really to advertise a certain IDE or to prefer

[23:09] A certain IDE or to make people use a specific IDE if they want to do spring development the goal was always to tell them hey you choose the IDE that you like and that you love and we try to make you more productive using spring and back then we started with eclipse and jetbrains did an awesome job of implementing additional spring tooling on top for IntelliJ so the ultimate edition has a huge set of spring tools although it was basically no need for us to build the tooling for jet paints ourselves because Japan’s just did an awesome job for that and kind of check right so using IntelliJ your spring developer you were super awesome supported by the IDE for that and then we kind of the that was kind of those were kind of the and I think that Netflix was there as well and those were kind of the landscape I think a few years ago actually several years ago already the landscape changed again a little bit because people were more interested in or interested in these sort of more lightweight editors and more lightweight environments instead of these big Ides that integrate everything for you and

[24:26] That is where I think vs code came up as a new project from Microsoft focusing everything around the code editing and the very very lightweight experience on the editor and at the same time building an extension model or where you were able to build tooling for languages in a totally different way than before because before in the old days forward for IntelliJ for eclipse for netbeans and so on you always had to build extensions against this API in a specific language like if you my experience is based on Eclipse so you had to kind of implement your Eclipse extension as a Java plugin and call the apis and Java it was loaded in the JVM executed inside the same JVM and that’s basically it right you so you were very tied to this environment and people starting implementing for example C to leave for that environment they were kind of they were rebuilding the C parser in Java right even though they’re of course plenty of C Powers as written in C or C plus plus or C sharp they had to re-implement everything in Java to make it work inside of eclipse and vs code changed that game because it

[25:41] Moved this architecture on top of this language server protocol where you can extract all your language tooling into a separate process build it on top of a totally different thing and then plug that into the lightweight editor and that was the time when we shifted the whole architecture of the spring tools and internally and basically more or less rebuild everything on top of this language certain protocol architecture so the core of the spring tooling is really we try to really build that once and put that into the language server into a language server it’s not really a language of course it’s more of a framework because we support Springs Boot and so on but it’s built as a language server with a goal in mind to plug that into different clients different Ides different lightweight editors that also Port this protocol that was kind of a very beneficial move for us and for the team because now nowadays we are able to more or less build the spring tooling once as a language server and you can use that in vs code you can use that in git pod you can even use that in a clip so re-integrating that into the clubs as a

[26:52] Language server you can use that across many different environments and many different ideas even you can even use it in emex and things like that so that opened up the door for supporting many different Ides because we would like to meet the developers where they are so whatever they use that’s awesome continue to use the IDE that you love and we give you the spring tooling so that opened up the door for supporting many many many more developers around the globe and nowadays vs code is of course quite an interesting play in that game that was kind of the big architectural move that we did inside of the spring tooling to make it a lot easier for us to support different Ides it’s nice that you mentioned this lightweight editor because Helen you did the Shameless plug on your book I’ll do the same I’ve written one about Javon Raspberry Pi and I’ve actually written the book on a Raspberry Pi with Visual Studio code because it’s not only a Java editor it’s the book is written in markdown for lean Pub so it again has plugins to support this language or this formatting Visual Studio code runs as well on a

[28:03] Very small Raspberry Pi as on a heavy developer PC do you think that this has indeed shifted some developers towards different Systems Nick that you have this lightweight program I would say so because the visual studio code is you know born in the open source world and people have been submit submitting feature requests from there Day Zero in the repo and we’ve been seeing hundreds of feature requests in the repo that they have a bunch of different devices and they have asking to support Visual Studio code in to run on their own devices and you can imagine all different devices you know Blackberry devices you know different kinds of phone devices and they people want to run code on all sorts of things and you can imagine even imagine you know people have installed devices on in their homes to monitor temperatures then you won’t want to modify things on search devices to run you know customized customized logic so I would say you know it really kind of motivated people to bring Evolution to the product and it kind of have two-way product management one way to

[29:29] The product management to Microsoft and then the other way to the user to have a healthy discussion to the community so I think that’s definitely have a positive impact on the community yeah with covet and very strange things happening in the last years we’ve seen a lot of changes in how developers work actually code with me in intelligence was me at some point a real aha Discovery I was working with a colleague in Ukraine and actually we were I’m in Belgium he’s with Ukraine we had the same code I saw what he was typing he was running my code on my PC from that was mind-blowing I think it kind of this kind of evolutions and then we have more work from home I think these were also important in the evolution of the IDS now I think Trisha J and I when we wrote our book we used coach with me that was our whole model because you know I’m in the UK she’s in Spain so it was forever shall we fire up a code With Me session and you know one of us typing and normally me and Patricia sharing knowledge so yeah I really I like code with me I use it a lot even in just

[30:45] My day-to-day now for people who don’t know it so one of the two uses has IntelliJ you send an invite that’s right yeah and you don’t need the other person or the other people it’s it’s not limited to one there are license implications of course but you can have as many as you need within that model and they don’t need the full version of the IDE so you can just send a link and collaborate you still get all the features that you’d expect to get from IntelliJ IDEA in terms of the code completion Etc and you can just pair like you’re sat next to each other the next step that we’re seeing now is online editors so what is the trick if you’re in GitHub and you press the but the dots on your keyboard that it opens in ide isn’t that Visual Studio code which is opened in the background or am I wrong I think that’s the code spaces or that’s the vs code.def it’s the full vs code experience and so it’s basically like you’re using BS code in desktop except that it’s in the cloud so it’s a web version but if it’s vscode.dev some extensions are not supported on the web some but some extensions are so you will

[31:59] Have just to try and see what kind of extension are supported if you exported you can also just use it you use it as your own desktop yeah I must say that one of my main discoveries of the last year was when I went to my browser and went to my GitHub URL github.com my name into the repository and change github.com to github.dev and then you’re in an amazing editor which is vs code right yeah it’s incredible just take your github.com url change github.com to github.dev and you’re in an editor with syntax coloring and everything and you can commit directly online it’s an it’s an amazing tool yeah I think it’s definitely for open source projects where someone wants to quickly fix something I think this can be I don’t use it enough myself I have to admit I know it exists but I probably should document it in some open search project that if you want to do fix or all right documentation it’s great for writing documentation you don’t need to Fork it or make a fool right we get it to your computer open it upload it again definitely some big Evolutions going on come there as we have all of

[33:17] You here in the room that just go around the table and you’re allowed to do some Shameless plugin for your own products what are the main benefits and definitely what’s coming next what will be new in 2023 so as everybody is aware the S code is not a traditional Java ID it’s actually a lightweight cross-platform code editor we always try to trying to find a balance between the editor and IDE for Java developers in 2023 our focus is to bring new features to the cloud native experience so this includes better getting started experience for kubernetes and grow VM projects and also added more inner loop experience for cloud related features improve better remote debugging experience in addition we are working very closely with VMware to improve major spring developer experience so this includes visualization upgrades in Spring boot Dashboard and also better discoverability in Spring tooling and make spring features easier to discover apart from that we know fundamental coding experience is also always very important to Java developers because coding is basically what Java developers do everything so we always try to

[34:51] Improve the code confusion smartness and intelligence but we also try to improve the performance and reliability as well as the user experience and I’ll also publish the roadmap probably in February so stay tuned like I said wishes to code is probably born in the open source whenever you have feedback always feel free to open the future request in a repo just search for vs code Java and you’ll land out in a ripple just feel free to open the future request we’ll always have we can always have the discussion there so let’s see Shameless plugs where are we intelligent ideas over 20 years old it’s obviously an Enterprise tool it’s very feature Rich but the barrier to entry is still really low and that’s one of the wonderful things about it you know if you’ve not programmed before you can go in there and you can get started with template code shortcuts such as Alt Enter my favorite shortcut you can fix and reshape code really quickly it helps you to stay the flow it helps reduce context switching as well right somebody mentioned earlier in the podcast that your IDE should get out of the way it

[36:06] Shouldn’t be like hi I’m your IDE it should be a tool that empowers you and you know isn’t there effectively of course the idea is there to help you with code but it wants to help you be a badass developer there’s lots of examples of this throughout IntelliJ IDEA integrated git tooling I am not a fan of rebase intelliche makes rebasing much easier than it would be on the command line on the command line certainly from my point of view so you can be successful faster in terms of what’s coming up there’s a lot right where do I start with this new user interface yes if you haven’t tried it yet please go in there and try it the setting is in your settings clever just search for new UI you can select the checkbox there’s a URL in there so you can give us your feedback I’ve been using it for a while now I’ve shared my feedback with the team we want your feedback it’s normal to feel like maybe your cheese has moved but after a while you will realize that it hasn’t and all that functionality that you know and love is still there so if you haven’t used the new UI yet please go and check

[37:12] It out what else are we doing adding support for new Java versions that’s ongoing we get you know two releases a year performance improvements as well they’re being worked on and finally remote development so we’ve talked about this a little bit already jetbrain’s Gateway is currently in beta so that’s going to be a really exciting Journey as it matures and you know we’re all kind of alluding to the fact that the world is reshaping and people are working in different ways than they were before so the notion of remote development code with me is part of that story is a really exciting one so yeah stay tuned you were mentioning jetbrain’s Gateway can you give me some more info about that Japan’s Gateway is a desktop application that will allow you to work remotely with a jetbrains IDE even if you haven’t downloaded one so you can connect through SSH and Gateway takes care of deploying the back end of the IDE and you connect with it it’s kind of it sounds really simple because it is and then you can work with your IntelliJ based IDE and locally without what’s connected to the IDE

[38:22] Somewhere else in the cloud I actually had to look up where you can run your Ides back end and it’s a whole list so it can be on jetbrain Space Google Cloud gitpod GitHub code spaces Amazon code Catalyst and of course on any Machine by SSH so I can go back to my Raspberry Pi experiments and actually run jetbrains now on the Raspberry Pi go for it let’s do it and that can be a new feature podcasts or our blog posts I think in the coming year the interesting thing about netbeans will continue to be what has been interesting about it over the past few years which is its integration into the Apache software Foundation and that process has been a very interesting one bringing the community together trying to fit the way that we’ve worked over the years into the Apache way of doing things and that’s worked out really well and we have four releases per year on a regular basis you know we have a schedule we have a release a team we are no longer in the situation that we were once when we were in Oracle and Sun where there was one person who knew everything about release management and if that person

[39:34] Got run over by a bus you know we would have had a problem right now we simply following the Apache software foundation’s release processes and so you know netbeans has always been open source but now it’s also Apache governed which brings a lot of benefits and enables anyone to pick it up and use it because everything is Apache licensed it took us years to get to this point but every single file only millions of files of netbeans are now Apache licensed it’s the largest project in the Apache software Foundation by quite far and anyone can come along and take it contribute to it everything’s on GitHub we’re following all the processes so that process and continuing that process is really what what’s what’s interesting and going to continue about their wins Martin can you share something about Eclipse I could share something about Eclipse they could share something about the spring tools of course yeah from the eclipse perspective air I think it will continue to upgrade to the latest Java versions so that will be a major driver and making the core Java tooling more

[40:42] Flexible and more easy to you reuse because not not sure that was mentioned before here but the Java Tooling in vs code is actually using the Java tooling of eclipse at the core to implement all the functionality so that will evolve quite a bit to make it easier to run inside of these language servers as we talked about before so that’s going to be a major journey I think from the eclipse perspective and from the spring perspective from the tools I think there are really two things that we heavily look into one is giving you more insights into running spring applications which I think is pretty interesting pretty cool because it gives you information about your running app inside of your IDE so you don’t have to do this mental shift between you stare at your code your static code and the application runs and somehow you need to translate what’s going on in the running applications versus what’s written in your source code which try to kind of bridge this Gap and directly display the information from what’s going on how are your beams wired what objects are being created what request

[41:55] Metrics are being active and things like that inside of your source code which is I think really cool we will do a lot more of that and the other thing that we look into is supporting people upgrading to new versions of spring and spring Boot and I think that is going to be a real game changer because we are going to we already shipped the first version of that we’re going to adopt an open source project called open rewrite which helped you to change source code basically and to implement things like refactorings and small changes but in the end as you know these kind of there’s there’s a new version of all those libraries coming out every day more or less and you patch versions new minor versions new major versions and things like that and using these open rewrite technology behind the scenes we are going to support people jumping to new versions of spring and spring boot so it is you can imagine that like if you jump to a new version you have these kind of migration guide or what has changed and read through the documentation and you do all the changes and it’s basically codifying 90 of that and automate that

[43:08] For your support source code for your applications so that makes it really really a lot easier to jump to new versions like I don’t know switch from the old Java x to the new Jakarta packages automatically because you upgrade to springboot 3 and that requires jumping to Java 17 and jumping to the new Jakarta packages and tens or Twenty or hundreds of other changes and we’re trying really to automate that based on this open rewrite framework and that is where the community comes back in because people can join these open rewrite community and Implement their own code changes their own automated code modernizations and our IDE integration that we built for the spring tools that is basically available through this code and the clips and that could also be expected to be more Universal applicable is to basically allow users to apply those code changes automatically inside of the coding environment all the time which I think will be a huge game changer for people adopting new versions and jumping new versions and basically making that something that is really a lot less painful than it was basically in

[44:23] The past sometimes will it also help developers move from java 8 to newer yeah if you look at the open rewrite project they are kind of so-called recipes these kind of small recipes changing a little thing and bigger recipes and bigger recipes are composed out of small recipes and there’s a whole landscape of those recipes like there are some very basic ones like change a package name in Java or change a property key in a properties file so it’s not specific for Java language it’s really Universal and there are recipes combined for oh you need to do all these for jump from java version 8 to Java version 11teen or how should you change your code when you move from java 11 to 17 or how should you change your code when you jump from Spring Boot 2 to Spring boot 3 I think there’s support for other Enterprise Frameworks as well other languages as well at least that is slowly starting and the cool thing is there’s those recipes they can really work across file types so it’s not only changing Java source code it can change Java source code based on an abstract syntax tree so really semantically aware and

[45:37] Knowing what to do as well as changing your property files changing your yaml files changing adding new dependencies to your pump file updating versions in your pom file modernizing your pump file for example sample and things like that so it’s really powerful and since it’s kind of combined of these small pieces if you build up these larger recipes it’s really interesting because you can we can use that across many different different use cases sounds really great okay thank you very much all of you a lot of info again a lot we have learned and a lot we can read based on all the links we have for the show notes so thank you very much first of all yeah my guests of this episode and you for listening keep an eye on Foojay for future articles about development and everything related to Java and the gvm world give me a jake give me the friends 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, …

Written by

Geertjan Wielenga

Geertjan is an open source and Java enthusiast, Java Champion, Apache Member, and leader of the Amsterdam Java User Group.

Written by

Helen Scott

Helen is a Java Developer Advocate at JetBrains. She has over 20 years’ experience in the software industry which has been gained in a variety of roles including developer, technical writer, product owner, and advocacy.

Written by

Nick Zhu

Senior Program Manager at Developer Division in Microsoft. Our team is currently based in Shanghai, China. I have worked on various product areas at Microsoft, such as Bing Ads, Azure SDK, Visual Studio Code for Java, and so on. Before joining Microsoft, I was …

Related posts

Join the discussion