JAX London Blog

Less features means less corner cases

Jul 18, 2018

toy man computer nerd

Source: Shutterstock

Simplicity is what makes Java shine. We talked with Peter Lawrey about the present state of Java and his favorite IDE.

How do you feel about the new six-month release cadence?

I feel a 6 month release cycle is a significant improvement. I suspect most people find it confusing and puts them off upgrading. However, in time we will see greater adoption of these releases between Long Term Service releases.

 

After past delays, do you think it’s too much (or too soon) to have two feature releases per year?

 

The advantage of this approach is that releases are by date instead of a feature set. Anything not ready by that date doesn’t make the release. The downside, is that you can’t plan for a particular feature to be available in a specific release (unless it is already available)

 

Have you migrated to Java 10 yet?

We have tested with Java 9 and 10 and found some issues which have been fixed in the Java 11 early access.  Most likely we will not migrate before Java 11.

I feel a 6 month release cycle is a significant improvement. I suspect most people find it confusing and puts them off upgrading. However, in time we will see greater adoption of these releases between Long Term Service releases.

If you could replace any feature in the current release with a different one, what would that be?

Java 10 doesn’t have many new features, though that is to be expected coming just 6 months after Java 9.  Only time will tell how useful the use of var will be in improving readability.

 

Stephen Colebourne told us at last year’s JAX London that “Java 8 will satisfy us for a good few years until there’s something really big and important.” Can Java 11 meet those expectations?

Java 9 to 11 feel like small but significant housekeeping of how the JVM works.  I believe this had to happen, but for me it they don’t any really compelling features.  Most likely, developers will see Java 11 as a better, cleaner implementation of the features they use in Java 8.

 

Speaking of Java 11, how do you feel about the fact that JavaFX will be decoupled from the JDK?

Decoupling libraries which have specific use cases is a good thing. Java FX is one of these.

 

What’s your favorite JEP [targeted to JDK 11] so far? Why?

My favourite JEP would be http://openjdk.java.net/jeps/330 if it gets included.  Many languages support this already.

How do you feel about modular Java? Do you prefer Jigsaw or Maven? Why?

I feel modular Java is a significant improvement for the JVM. However, I feel it will take some time before it is widely used in other libraries.  When most developers are on Java 11+, Jigsaw could be the standard way to package libraries.

What is still missing from the latest Java versions? What are the issues that require more attention?

We need more rounds of Project Coin style improvements.  There is still too many gotchas and quirks for developers which has been addressed in other languages like C# or kotlin.

 

Why do you think that Java has maintained its dominant position as one of the top programming languages for such a long time?

It’s simplicity (it takes less time to feel you have mastered all it’s features) Less features means less corner cases.

 

What does programming in Java offer to developers and organizations?

A large market place means developers can more easily find work, and organizations can more easily find the developers they need.

 

What is your favorite framework or tool for Java? Why?

I am a fan of IDEs in general and IntelliJ in particular.  Many developers still use text editors which are easier to get started but not as efficient or effective.

My second favourite tool is Mission Control as a profiler.  I use it regularly.

Java Core & Languages at JAX London 2018

Behind the Tracks

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