Here are the most important news for Java developers from last month - in my opinion, at least.
| May 2022 | April 2022 | March 2022 | February 2022 | January 2022 |
As I reported in February, Oracle has currently four Java multi-year initiatives: Loom adds lightweight threads and structured concurrency, Valhalla introduces types that “code like a class and work like an int”, Panama improves how Java works with non-Java code, and Amber releases smaller features that make developers more productive. So, when can we expect them to ship?
Nicolai Parlog, a Java evangelist at Oracle, toured the conference circus with his “Java Next” presentation. His Devoxx UK talk from mid-May is on YouTube; the slides are here (navigate with the arrow keys, including down for details on slides three to seven). So, what will be ready for Java 21, the next Java LTS release? I focus on LTS releases here because New Relic’s analysis of millions of production JVMs has shown that “no non-LTS version has ever passed 1% market share”. New Relic is a full-stack observability company and recently published a “State of Java” report.
Now these days, new features don’t just appear in Java. Instead, they ship as a preview first - and multiple ones at that. So in order to make it into Java 21, a new feature probably has to ship as a preview in Java 19 and Java 20 first. Which also means: If it’s not in Java 19, it probably won’t be in Java 21.
In January, I wrote about an upcoming JetBrains product called Fleet. JetBrains makes IDEs like IntelliJ or WebStorm. Fleet looks and acts like Visual Studio Code, Microsoft’s free and popular cross-platform, cross-language IDE. Back then, IntelliJ said that “Fleet doesn’t replace our existing tools” and promised “to invest in all our IDEs”.
It now looks like part of the JetBrains investment is to make the existing IDEs look like Visual Studio Code: JetBrains announced a “new UI” coming to all its product. In short: It looks like Visual Studio Code! But a picture says more than a thousand words. So here’s the current IntelliJ UI with a dark theme:
And here’s the new UI:
Yep, it looks a lot like Visual Studio Code. Just look at all the buttons and tool windows on all sides of the IDE in the current UI. Most of them are gone in the new UI, possibly replaced by a “…” junk-drawer menu on the top left, that pinnacle of UI design. Now we can’t judge a whole UI by a single screenshot. But as critics pointed out in the comments of the announcement, the new UI certainly seems to require more clicking. Or maybe this is just an elaborate plot to get developers to finally learn all these nifty keyboard shortcuts? That worked in Visual Studio Code…
JetBrains just started a preview program for the new UI. It plans to ship it in 2023. The current UI will still be an option “for at least a year after the new UI becomes the default”.
Speaking of Visual Studio Code: Microsoft doesn’t see it as a replacement for full-fledged IDEs like IntelliJ. Instead, it’s a lightweight companion. Says Martijn Verburg, Principal Engineering Group Manager (Java) at Microsoft, in a podcast interview: “Visual Studio Code, it’s not aimed to be a fully-fledged IDE. It’s not made to compete with IntelliJ directly in that realm. But it is really designed for those kind of full-stack microservice developers, I think.” This is part of an answer to a questions that starts at 10:37 in the podcast.
I’m sure JetBrains is relieved to hear that. But I don’t think JetBrains is off the hook here:
Java dominates enterprise applications. But in the cloud, Java is more expensive than some competitors. Native compilation with GraalVM makes Java in the cloud cheaper: It creates applications that start much faster and use less memory.
So native compilation raises many questions for all Java users: How does native Java change development? When should we switch to native Java? When should we not? And what framework should we use for native Java?
I’m the editor of an article series on InfoQ that provides some answers. The series is now complete with these articles: GraalVM, Spring Boot, Quarkus, Micronaut, lessons learned, and standardizing native Java.
Our favorite programming language turned 27 last month. Happy birthday! And if you want to know how it all started, look no further than this old article from 1995. James Gosling, Project Green, Oak (the original name of Java), set-top boxes for Time-Warner, a pivot to the web, speculation about how Microsoft would respond - it’s all there. And yes, that “Eric Schmidt, Sun’s chief technology officer” is the guy who was CEO of Google from 2001 to 2011. It’s a small world!