JAX London Blog

Small, frequent changes lead to faster and safer software

Aug 20, 2018

Source: Shutterstock

Ending free Java 8 support will not kill Java and upgrades are essential. Jessica Kerr shares her excitement for Java 11 and what she looks forward to the most.

JAX enter: How do you feel about the new six-month cycle and the new rhythm? After all, Java 10 was the fastest release in Java’s 23-year history and now we’re already 2 months away from Java 11.

I’m all for small, frequent changes. The software industry has discovered that this makes feature delivery both faster and safer, and Java is no exception. “Fix the date, scope will vary.”

JAX enter: Do you think the new release cadence will lead to fatigue or is it just keeping developers on their toes?
If it leads to fatigue, then I hope that fatigue will lead to automation. The world changes around our applications, and our applications and infrastructure need to keep up. The JVM team is keeping our runtime up to date, and all we have to do is install it and test — so automate installation and tests! Modern software infrastructure is quickly replaceable, and the pace of the JDK adds value and takes advantage of that.
The removal of CORBA and enhancement of HTTP and TLS are examples of how Java is keeping up with the modern world, and keeping up its own ability to change by reducing its own maintenance burdens. The removal of long-deprecated features is a signal that the Java team is serious about the future. Various enhancements targeted at compiler authors (like 181 and 309) enable even more improvements. Java is a solid foundation for serious applications, now and in the future.

JAX enter: Describe your favorite Java 11 feature.
I’m tickled by Epsilon, the no-op garbage collector. Along with Flight Recorder and heap sampling, the JVM is becoming more introspectable and testable. The no-op garbage collector lets people find their own latency problems, disambiguated from GC pause. It also lets short-running programs dispense with the ongoing cost of GC. In a containerized world, “The JVM shut down” is not disaster: kubernetes will restart it.

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? (I’m not answering this exact question, but do have something to say)
We used to use Nashorn before its deprecation was announced, and now we run Node in production — a circumstance that helps us appreciate the professionalism of Java and the JVM even more. It makes sense to decouple the JDK from the separate pace of movement of other ecosystems like JavaScript. like microservices, this is a decoupling of release schedules that gives the JVM more flexibility.

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?
Nope. They can catch up at the pace their company chooses to move at.

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?
If by “ruining Java” they mean “taking away my ability to live in the past forever and expect everything to continue to work” then yes, they’re right. Keeping software running as computers and people change is expensive. Software is not a capital expenditure, and as long as we model it that way, we will feel dissonance.

Behind the Tracks

Software Architecture & Design
Software innovation & more
Architecture structure & more
Agile & Communication
Methodologies & more
DevOps & Continuous Delivery
Delivery Pipelines, Testing & more
Big Data & Machine Learning
Saving, processing & more