The Java programming language celebrates its silver anniversary this week, with May 23, 2020, marking 25 years from the day Sun Microsystems first introduced Java to the world. The venerable language has remained popular with enterprises even as a slew of rival languages, such as Python and Go, now compete for the hearts and minds of software developers. But Java is not standing still, with a revamp designed to address longtime pain points now in the offing.
Java became open source in late-2006. Stewardship of Java passed to Oracle when the company acquired Sun in January 2010. Oracle spun out the enterprise version of Java, Java EE, to the Eclipse Foundation in 2017, but still maintains the foundational Java standard edition. Standard Java is now being released every six months as opposed to a roughly three-year release cadence that had been common before.
Java still going strong
Java continues to rank among the top three programming languages in the most prominent language popularity indexes—Tiobe, RedMonk, and PyPL. Java had enjoyed a five-year stint as the top language in the Tiobe index until this month, when it was overtaken by the C language, thanks perhaps to the combination of C’s wide use in medical equipment and the urgency of the COVID-19 pandemic.
What’s next for Java
The developers behind Java—including Oracle and the broader OpenJDK community—have kept the platform moving forward. Released two months ago, Java 14, or Java Development Kit (JDK) 14, added capabilities including switch expressions, to simplify coding, and JDK Flight Recorder (JFR) Event Streaming, for continuous consumption of JFR data. Up next for Java is JDK 15, set to arrive as a production release in September 2020, with capabilities still being lined up for it. So far, the features expected include a preview of sealed classes, which provide more-granular control over code, and records, which provide classes that act as transparent carriers for immutable data. Also under consideration for Java is a plan dubbed Project Leyden, which would address “longterm pain points” in Java including resource footprint, startup time, and performance issues by introducing static images to the platform.