Project Jigsaw, which is intended to provide a module system for Java, has been deferred from the Java SE (Standard Edition) 8 release planned for next year until Java SE 9, which is due in 2015, a high-ranking Oracle executive revealed on Tuesday.
In announcing the deferment, Mark Reinhold, chief architect of the Java platform group at Oracle, cited insufficient time and technical issues. "The proposed development schedule for Java 8 expects work on major features to be finished by May 2013 in preparation for a final release around September," Reinhold said in a blog post. "Steady progress is being made, but some significant technical challenges remain. There is, more importantly, not enough time left for the broad evaluation, review, and feedback which such a profound change to the platform demands."
"I therefore propose to defer Project Jigsaw to the next release, Java 9," Reinhold concluded, adding that he aims for regular two-year release cycles of Java going forward. Jigsaw previously had been proposed for inclusion in Java SE 7, which was released last summer. But it was pulled in 2010 to enable shipment of Java SE 7 by last year.
There have been several challenges, including modularising Java SE and the JDK (Java Development Kit) while maintaining compatibility for existing code, Reinhold said. "We have, moreover, yet to design and prototype an approach to supporting containers such as IDEs, Java EE application servers, and applet containers, all of which require some amount of reflective dynamism. We're reasonably confident that we can work through these issues, but doing so will most likely take us past May 2013."
Reinhold cited benefits of the module system, which is intended to ease construction, maintenance, and distribution of large applications and allow developers to the escape the "JAR hell" of Java archive files, Reinhold said. JAR files have provided a "brittle and error-prone class-path mechanism," he said.
"[Modular Java] will change the way that the Java platform itself is deployed, and it will change the way that developers build and deploy libraries, frameworks, tools, and applications," said Reinhold.
Modular Java also will enable convergence among Java editions, Reinhold said. "A truly modular Java platform will support customizable configurations that scale from large servers down to small embedded devices and, in the long term, enable the convergence of Java SE with the higher-end Java ME Platforms. Modular applications built on top of a modular platform can be downloaded more quickly, and the run-time performance of the code they contain can be optimised more effectively."
Java SE 8 could have been delayed until mid-2014 to accommodate Jigsaw, but Oracle chose to defer the modular system altogether. Oracle's decision to delay Jigsaw was the right one, said analyst Al Hilwa, of IDC. "Java does not exist in a vacuum, and delays in the Java modularity project of the JDK will no doubt hinder certain parts of the ecosystem. However, under the circumstances, I think it is wise to prioritize schedule over features."
Java SE 8 and the accompanying JDK 8 also have been slated to include such features as Java Virtual Machine convergence and JavaFX 3.0, as well as bulk parallel operations via Project Lambda.