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.
Arising out of the “Oak” project begun in 1991 and spearheaded by James Gosling, object-oriented Java gained fame for its “write once, run anywhere” portability, as the Java Virtual Machine supported multiple hardware platforms and operating systems, and Java applets could be run from a webpage.
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 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.
Nevertheless, Java represents a huge ecosystem and source of jobs. There were an estimated nine million Java developers worldwide in 2017, according to Oracle.
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.
Java’s day in the Supreme Court
Along its 25-year journey, Java has been at the centre of two major lawsuits. The first was between Sun and Microsoft over Microsoft’s use of Java in Windows, which Sun argued broke the platform’s compatibility pledge and licence agreement. Microsoft agreed to pay Sun $20 million to settle the lawsuit in 2001.
More recently, a long-running intellectual property dispute has simmered between Oracle and Google over Google’s use of Java in the Android mobile platform, with the case making it all the way to the United States Supreme Court. At issue is whether Oracle can claim a copyright on Java APIs and, if so, whether Google violates them.
The Supreme Court’s ruling on these questions could impact not only the use of Java in the mobile world and beyond but all software development. Deliberations are on hold amid the current Covid-19 crisis.