Java 14 – “A shorter release cycle creates the feeling that the language is constantly evolving”
For the release of Java 14, we spoke to software architect Tim Riemer. Read the interview to find out what features he is most excited about, whether he misses any features, and what he would like to see in Java 15.
JAXenter: What do you think is the most important new feature in Java 14?
Tim Riemer: Switch expressions are now all grown up, since the Java 14 release has elevated them from a preview feature to a standard feature. Another feature that will be useful for developers in their daily work is “JEP-358: Helpful NullPointerExceptions”. Aside from that, records and pattern matching for instanceof are included as interesting preview features.
SEE ALSO: JEP 358 – Improved NullPointerExceptions
JAXenter: What feature do you think is missing in Java 14?
As I see it, hidden classes are mainly relevant for framework and language developers.
Tim Riemer: Actually, I don’t miss anything. But this also has to do with the six-month release cycle that doesn’t make you expect any large changes. Personally, I would like to see first results from Project Loom and Valhalla.
JAXenter: Will you update right away or is that not worth it for you?
Tim Riemer: We are currently using Java 11 and 12 in production. Our teams, however, may choose to use a later version, but personally I don’t see the cost-effectiveness of upgrading for the new features in Java 14.
JAXenter: What difficulties could it pose to immediately use the new Java version in production?
Tim Riemer: I don’t believe it would cause large difficulties for us, but of course the removal of the Concurrent Mark Sweep (CMS) Garbage Collector could prevent a smooth updating process for some.
JAXenter: What is your opinion on “JEP 371: Hidden Classes”, which may be included in one of the upcoming Java versions?
Tim Riemer: As I see it, hidden classes are mainly relevant for framework and language developers. From my understanding, it is currently not possible to distinguish whether the byte code of a class was generated dynamically or statically. Here, hidden classes can help reduce visibility and life span.
JAXenter: With features like “JEP 358: Helpful NullPointerExceptions“, is Java approaching “modern” languages like Kotlin?
A shorter release cycle creates the feeling that the language is constantly evolving.
Tim Riemer: In my opinion, Kotlin has done a lot of things right when it comes to developer productivity and usability. In this respect, I think it is a positive development if, even after 25 years of Java, people are still working on a central topic such as NPEs and, which is a declared goal of the JEP, helping new developers avoid confusion in dealing with NPEs.
JAXenter: What wishes/preferences do you have for Java 15, set for release later this year?
Tim Riemer: I am definitely looking forward to the features “JEP 198: Light-Weight JSON API” and “JEP 218: Generics over Primitive Types.”
JAXenter: In general, what do you think about the acceleration of Java with the six month release cycle?
Tim Riemer: A shorter release cycle creates the feeling that the language is constantly evolving, making it appear more present and also “fresher.” I can vividly remember how endless the time between the releases of Java 6, Java 7 and Java 8 felt.