console.log()

Java 25: Oracle is Cool Again

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

This week, Oracle released Java 25, which includes 18 JDK Enhancement Proposals “thousands of improvements that boost developer productivity and enhance the platform’s performance, stability, and security.” Several developers have used this release as an opportunity to share their enthusiasm around the JVM and Oracle’s stewardship. Sentiments on Hacker News, Reddit, and Twitter like Jonathan S. Fisher’s: “The JVM in the last 6-8 years has been a powerhouse of innovation and cool features. Incredibly impressive!” are enthusiastic not only about the update, but about the trajectory of Java for the future. This strikes me as noteworthy, and here’s why.

 

I’ll address the elephant in the room first. Historically, Oracle has not had a great track record around community stewardship and fostering practitioner goodwill. Developer frustration with Oracle’s JavaScript trademark (which, like Java, Oracle acquired through the Sun acquisition) is a recent example of this. Ryan Dahl, creator of Node.js and Co-Founder and CEO of Deno, has filed a petition to cancel Oracle’s JavaScript trademark. Ryan discussed it with me last year on the MonkCast, and the petition is currently tied up in Oracle’s infamous legal juggernaut. With this backdrop, positive practitioner sentiment is notable.

The next reason developer enthusiasm around Java 25 is significant has to do with recapturing the student market. Although people conceive of Java as an enterprise staple, much of Java’s success can be attributed to its widespread adoption in the classroom. Twenty years ago, many computer science undergraduates baby-ducked onto Java in the classroom, and then took that skill set with them into the workforce. However, over a decade ago Python became the most popular language in higher education, overtaking Java and third place, MATLAB. In 2024, SIGCSE published “A Global Survey of Introductory Programming Courses” confirming that Python continues to dominate in the classroom. Exploring why this happened deserves a separate post, but suffice it to say, renewed developer approval around Java could go far toward furthering adoption by students and junior developers.

 


Raina Mason, et al.,”Programming Languages,” in “A Global Survey of Introductory Programming Courses,” SIGCSE, March 20–23, 2024.

 

The 6-month release cycle is another feather in Java’s cap. Oracle’s press release includes this glowing summary from Trisha Gee, head of advocacy at Gradle:

When Java moved to having a release every six months, it seemed impossible that interesting new features could be split into small enough pieces to deliver this way – and it felt like it was possible some releases might not even have much in them … How wrong we were! Each new Java release has interesting and useful features, and it has been a wonderful lesson in how to split up large deliverables into small, independent pieces. For example, the various pattern matching features stand alone and can be delivered independently, but all add up to a fantastic set of new features for Java and a new way for Java developers to think about how to solve their problems. Java keeps going from strength to strength.

The success of this cadence underscores Java’s adaptability and steady evolution, and developers have taken notice. Oracle seems to be listening to the Java community’s “wishlists,” like this one from Reddit, which bodes well for continuing to secure its place at the center of modern, innovative software development. Developers have a surfeit of opinions about what they want to see in Java, and I saw many posts listing improvements in Java 25 that are making them happy.

Finally, the Java User Group meetup circuit and Java Champions have been extremely successful at cultivating excitement, fostering education, and bringing Java developers together. This is no small feat after Covid, which famously decimated the meetup and conference scene. To my way of thinking, a lot of Java’s success here has to do with its distancing itself from its buttoned-up, corporate DNA. According to one Hacker News user:

The language has evolved a lot since the “enterprise” Java days. Much of the unnecessary ceremony was relaxed, and it became less religiously adherent to the idea that it was simply a compiled, statically typed successor to Smalltalk.

In summary, beyond performance improvements, enhanced security “including post-quantum cryptography (PQC) support,” and its AI story, Java 25 represents something remarkable in the world of software development: a 30-year-old language that’s not just surviving but thriving. It’s proof that with the right stewardship (yes, Oracle’s stewardship), community involvement, and willingness to evolve, even the most “enterprise-y” of languages can become cool again.

Disclaimer: Oracle is a RedMonk client, but this is an independent post that reflects my own opinions.