It's onwards for Java!

JAX London, 08-11 October 2018
The Conference for Java & Software Innovation
28
Aug

Java 11 will act as a filter

Source: Shutterstock

Lukas Eder discusses what he looks forward to in Java 11 and dispels some myths about the new release cycle. See what Eder feels about the controversial Nashorn depreciation.

JAX enter: How do you feel about the new six-month release cadence? After past delays, do you think it’s too much (or too soon) to have two feature releases per year?
I find this quite exciting. As a library developer, it’s great to have early access to new non-LTS releases and their included functionality early on, long before most of the community will jump on the new versions.

On the flip side, unfortunately, the “community” currently still also includes many Maven plugins, other libraries, and IDEs, meaning that even more than a year after the release of Java 9, IDEs are still very buggy with respect to Jigsaw. Depending on JAXB is still a major hassle across several JDK versions.

I’m hoping that everyone in the community will eventually pick up this new rhythm. I think we can move forward much faster as a community. But we’re not there yet.

JAX enter: Do you think the new release cadence will lead to fatigue or is it just keeping developers on their toes?

It will first act as a filter. Those libraries and products that do not manage to keep up might be left behind and be replaced by end users. Especially once the free Java 8 support has ended. People will want to upgrade to Java 11, but many libraries are not ready for Java 11 yet. We’ll see if people will remove those libraries or stick to Java 8.

Once the above filter has been applied, I’m positive that the community will not be fatigued but will embrace the new cadence. Oracle has been doing a great job to reach out to the community and get early adopter feedback, so I think Java will greatly improve with this new cadence.

I cannot comment on how end users will live with that as I haven’t worked on end user systems for a while now.

JAX enter: Describe your favorite Java 11 feature.

JEP 330 (http://openjdk.java.net/jeps/330): “Launch Single-File Source-Code Programs”. This appears to be just a small change, but for newbies to learn Java, it is of great value, just like the jshell.

I like the little things that make every day work easier. Sure, it’s great that project Amber and Valhalla exist, for the big stuff. But the little things are what help people with their every day work. Have I mentioned that I’m super excited about JEP 326? http://openjdk.java.net/jeps/326 🙂

JAX enter: Java 11 will be “lighter” in the sense that JavaFX will soon be decoupled from the JDK, we’re saying goodbye to Java EE modules and Nashorn JavaScript engine will be deprecated. What’s left to axe?

Swing, AWT. It’s amazing that a platform that is mainly used for “headless”, server side stuff contains big rich desktop application libraries out of the box.

Also, if some parts of the java.desktop module could be refactored into their own modules, that would be great. I’d love to see a java.beans module, containing all the JavaBeans related stuff that has great use outside of java.desktop. I’m sure the Spring folks would appreciate that as well.

JAX enter: A lot of developers are still using Java 8. What does this mean for Java 11 adoption? Do you think Java 11 will be important or big enough to make them want to drop Java 8?

Not from a functionality perspective, but Oracle’s ending free Java 8 LTS soon will have an impact. I’ve heard from quite a few clients that they’re considering using OpenJDK soon, but the operations implications of such a change in enterprises are substantial, so I’m not really sure what’ll happen in early 2019.

JAX enter: Speaking of Java 8, public updates will remain available for individual, personal use through at least the end of 2020 but business users won’t be that lucky — the ‘public updates’ tap will be turned off in January 2019. A lot of Java developers believe that this decision is “ruining Java”. What’s your take on that?

Who are those “a lot of Java developers”? Because I haven’t met them 🙂

There’s the OpenJDK and other vendors are free to apply security updates to any old Java version. Besides, it’s perfectly OK to ask money for such services, after all, if you don’t want to pay money, just upgrade to the latest version, which is still free.

I think that the changes will benefit Java and the community.

JAX enter: Nashorn JavaScript engine will soon be deprecated and the most viable alternative seems to be GraalVM. What does GraalVM have that Nashorn doesn’t? Should Nashorn be kept alive by the community?

I definitely think that Nashorn and similar engines do not belong in the JDK. I have no opinion on them being independent third party projects (regardless if by Oracle or some other vendor).

Let’s face it. JAXB was added to the JDK and removed again. Rhino was added to the JDK and removed again. JavaDB / Derby was added to the JDK and will be removed again. JavaFX was added to the JDK and will be removed again. Nashorn…

I think the JDK should not include any such “third party” tools. And people should not rely on those tools being part of the JDK.

JAX enter: How do you feel about ZGC? Can it make latency a non-issue for Java applications?

I’m not too much in that business, so I cannot comment.

JAX enter: Demand is growing for serverless platforms. Will serverless begin a major reshaping of Java?

By serverless, you mean the fancy new name for stored procedures? No. They have always existed, nothing will be reshaped by them.

JAX enter: What features would you like to see in Java 12?

JEP 326! http://openjdk.java.net/jeps/326. It’s a game changer for people who like to embed external DSLs into Java (oh, say, SQL, XML, JSON, CSV, JavaScript, Regular expressions, XPath, you name it)

Behind the Tracks

Software Architecture & Design
Software innovation & more
Microservices
Architecture structure & more
Agile & Communication
Methodologies & more
Emerging Technologies
Everything about the latest technologies
DevOps & Continuous Delivery
Delivery Pipelines, Testing & more
Cloud & Modern Infrastructure
Everything about new tools and platforms
Big Data & Machine Learning
Saving, processing & more