Saturday, July 21, 2012

Jigsaw Shelved Until Java 9

Oracle is dropping Jigsaw from Java 8 in order to meet the scheduled release date of September 2013.
Jigsaw is a project designed to provide a standard module system for the Java SE Platform, and to apply that system to the Platform itself and to the JDK. It was originally planned to be part of Java 7 but was postponed shortly after Oracle  took control of Java along with two others, Project Lambda and parts of  Project Coin.
Until now the expectation was that it would be included in Java 8, the release date of which  had already slipped from late 2012 to September 2013. However, Mark Reinhold, chief architect of the Java Platform Group, has now posted on his blog that he plans to postpone Jigsaw till Java 9.
Reinhold’s reasoning is that:
"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. 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.”
The JDK is being released every two years to provide stability and give developers a clear idea about what the future holds. Putting Jigsaw off until Java 9 won’t be a problem for most developers, but modularity is a feature that developers of large systems have been asking for.
The reaction to Reinhold’s blog post has been less than enthusiastic. Reinhold titled his blog post “Late for the train”, and commented that
“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.”
However, as one comment says, what's the point if the train arrives "on time" without any cargo?
Another commenter says he finds it a bit ridiculous that Jigsaw is stripped from JDK 8 as it was already stripped from JDK 7, asking “What will be next? Moving it to 10 after 9, 11 after 10? Just give up the idea and use Maven. It's here already and serves well.”
Other comments questioned the two-year release cycle, suggesting that a JDK 8.5 after a year would be a suitable compromise. One commenter asks:

“How much time over the JDK8 ship date are we talking about?  If it took another 6-8 months over the current 8 months, would that be enough time to stabilize Jigsaw?  I'd be willing to wait for that if it was 6-8 months.”
So  it looks as if the only big new feature in Java 8 is going to be Lambda, which is currently still in the release train. The other "major" features promised are a new Date/Time API and the parts of project Coin that didn't make it into JDK 7, unsigned literals and collection support.

Leave a Reply