Oracle is moving to drop a major component from its upcoming Java 8 release, in an effort to get the flagging Java development process back on track.
The component, known as Project Jigsaw, was an addition to the language that would have allowed Java developers to write and distribute programs as modules. It would also have made it easier to scale the Java platform to more types of hardware, ranging from large servers to small embedded devices.
On Tuesday, Mark Reinhold, chief architect of the Java platform group at Oracle, wrote in a blog post that despite repeated promises that Project Jigsaw would be included in Java 8, it is no longer feasible to have the technology ready in time for that version's planned September 2013 ship date.
"Steady progress is being made, but some significant technical challenges remain," Reinhold writes. "There is, more importantly, not enough time left for the broad evaluation, review, and feedback which such a profound change to the Platform demands."
Java 8 is already running late. The original plan was to ship it in 2012, but Oracle revised that date at its JavaOne conference in October 2011. At the time, Project Jigsaw was still hailed as one of Java 8's major features.
Because development of the Java platform is a community-based process, any decision to drop Project Jigsaw from Java 8 will have to be approved by the Java SE 8 Expert Group. Given Reinhold's stature in the community, however – not to mention Oracle's overwhelming influence over it – his recommendation is likely to carry a lot of weight.
If the move is approved, it will be a significant step backward for Java 8, which Reinhold once touted as a "revolutionary" update to the platform.
It will also mean that the Java language won't have a built-in module system until Java 9 at the earliest, which isn't scheduled to arrive until September 2015.
Reinhold says that dropping Project Jigsaw from the Java 8 release will allow the community to concentrate on finishing the other new features that are scheduled for that version, such as Project Lambda, which will add useful programming constructs called "closures" to the Java language.
The Java community is getting used to such promises, however. It took five years to bring Java 7 to market, and it, too, shipped without some of the more ambitious technologies proposed for it. At the time, Reinhold himself admitted that Java 7 contained "no really earth-shattering, ground-breaking kinds of features."
The other important benefit of dropping Project Jigsaw from Java 8, Reinhold says, is that it will allow the Java community to regroup and concentrate on maintaining a predictable release schedule. To that end, he proposes that JDK development be moved to an explicit two-year release cycle.
"If a major feature misses its intended release train then that’s unfortunate but it’s not the end of the world: It will be on the next train, which will also leave at a predictable time," Reinhold writes.
That will likely be a welcome change for the long-suffering Java community, many of whom have grown frustrated with Java's seeming inability to evolve to suit the latest programming features and techniques. And who knows? A new Java release every two years might even help the language shrug off the ever-more-frequent comparisons to Cobol.
"Deferring Project Jigsaw to 2015 is by no means a pleasant decision," Reinhold writes. "It does, however, appear to be the best available option." ®