Staring Into My Java Crystal Ball 2020

Happy New Year! As we enter the new decade, I decided it was time to write my now annual blog post giving my thoughts on what this year might hold for Java. I'll also look back on my predictions in the last post to see how accurate (or not) I was.

Obviously, the most significant thing this year will be the celebration of a whole quarter of a century since Java was launched. I plan to write a lengthy missive about the last 25 years of Java closer to the time.

OpenJDK: More Speed, Less Haste

lights flashing on road
A fast release cadence provides the ability to add features without casting them in stone, making them part of the Java SE standard.

It's now over two years since the release of JDK 9, and with it, the switch to a time-based rather than feature-based release schedule. It seems incredible that it took very nearly eleven years to get from JDK 6 to JDK 9, yet in just over two years, we've gone from JDK 9 to JDK 13.

Each release under this new strategy provides a smaller set of features than we had in the old major release approach. What we're seeing, though, is the overall rate of change is faster than it's ever been, which is a significant advantage for keeping Java vibrant and attractive to developers.

Love It or Hate It, Java Continues to Evolve

TechRepublic recently published an article about languages that developers love and those that they hate. This produced an interesting set of results since Java was the third most loved language as well as the second most hated. Clearly, Java, as a language, polarizes opinion. When I tweeted about this, I got one reply from Bjarne Stroustrup, the creator of C++:

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”

I think he has a point.

39 New Features (and APIs) in JDK 12

I’ve written several blog posts that list out all the changes for each of the most recent releases of Java (JDK 10, JDK 11). With JDK 12 just having been released, it seemed the obvious thing to produce another blog in this series. However, I’ll be looking at the flip side of this latter, focusing on some of the pitfalls that might cause problems, should you want to migrate an application to use this version.

We are now well into the new six-month release cadence and everything is working smoothly. I represent Azul on the Java SE JSR Expert Group, and we decided to switch this version to the revised JSR process. This is not radically different; it's more of a streamlining of the process to fit into the available time more easily.