Starting with Java 8, to be released in September, the development team behind the widely used programming language plans to release a new version of Java every two years -- and stick to that schedule.
The idea is to "speed up the rate" of releases, said Steve Harris, a board member of the JCP (Java Community Process) executive committee, and a senior vice president of products for the Java PaaS (platform-as-a-service) provider CloudBees.
Starting with Java 8, new versions of the Java SE (Standard Edition), and the associated JDK (Java Development Kit), will no longer be indefinitely held up by the inclusion of features that are complicated to design and implement. "The scope of Java 8 has been adjusted to fit in the timeline," Harris said.
An open source language, Java is advanced by a number of different technical expert groups, each focusing on a particular set of functionality, such as messaging. As Java has grown ever more complex since its creation just over 20 years ago, the time between each new release has lengthened.
In the late 1990s, when the language was new, fresh releases of Java were issued each year. In the last decade, as the code base grew and the number of users who relied on the language increased, new releases slipped to an every-other-year cadence. Almost five years elapsed between the release of Java 6, in 2006 and Java 7 in 2011. Despite this gap, a number of planned features for Java 7, such as closures, were still put on hold.
Java 8's relatively speedy release, assuming it does come out in September, will be due to some originally planned features being put on hold as well.
The most ambitious update for Java 8 that was held back was to make Java's OpenJDK modular, in an undertaking called Project Jigsaw. A JDK is an implementation of the specifications of the language and the OpenJDK is the official implementation of Java SE (Standard Edition). A modular JDK would be easier for enterprises to maintain, because unneeded parts could be stripped out.
Project Jigsaw, however, turned out to be more complicated than its developers anticipated.
"Modularizing the Java SE Platform and the JDK while maintaining compatibility for existing code is an incredibly delicate task [that] requires careful changes throughout both the specification and the implementation," wrote Mark Reinhold, chief architect of the Java Platform Group at Oracle, in a blog post last July,
Reinhold recommended to not hold up the release of Java 8 for Jigsaw. "We're reasonably confident that we can work through these issues, but doing so will most likely take us past" the deadline for when all changes should be finished and tested for Java 8, he wrote. He also suggested that future Java releases be put on a timed schedule, in which the JCP would issue a new version of the language every two years.