Project Jigsaw delayed until Java 9 – The Reaction
Yesterday’s announcement that the module system (Project Jigsaw) would not make it into Java 8 has left the wider Java community headlong into debate. What do you think about the decision?
Mark Reinhold’s announcement yesterday that Project Jigsaw, the eagerly-anticipated standard module system, would now be delayed until Java SE 9 in 2015. The proposal was met generally with ire, although some did come out in support of the decision.
To recap, Reinhold, the Chief Architect of the Java Platfom Group at Oracle, gave the following reason for the deferral of Project Jigsaw:
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. In order to increase the predictability of all future Java SE releases, I further propose to aim explicitly for a regular two-year release cycle going forward.
Reinhold goes on further to explain why he opted to keep the two-year release cycle, in expense of arguably the biggest feature targetted for Java SE 8. It’s a fine balance, keeping the enterprises happy with stability (with as short a release cycle as they can possibly accept) and the wider community hooked with innovation.
The general consensus from the Java community however, has been one of disappointment, and it’s fair to say some are quite angry at the further delay for a much-needed modularisation introduction to the language. Just by glancing at the comments on Reinhold’s blog reveals how vehemently opposed some are, although it’s about 50/50 for the decision. For example, Markus Karg wrote the following:
In fact it is a bit ridiculous that Jigsaw is stripped from JDK 8 as it was already stripped from JDK 7. 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. Also the time frames are rather fantastic. A two year release seen as a big improvement? Maybe when thinking in astronomic dimensions. Why not following the release often approach, having one release each Summer?
The ‘just use Maven’ brigade are certainly there (with equal discontent shown towards them too), whilst many advocate the use of OSGi in the long-run. Although Oracle seem resistant to that. We understand the decision to let the train leave the platform, but what is the point if the train has no cargo, as Jim DeVos commented.
This puts a lot of pressure on Lambdas and the Date/Time API as part of the Java SE 8 release, but is it really enticing to enterprises to pick up Java SE 8 when it now looks devoid of a major component as promised? Are they enough to suggest Java is heading the right way, continually innovating? Whilst it should now ship on time, the minor-major cycle has certainly been disrupted.
Interestingly, Groovy Project Lead Guillaume LaForge gave his two cents, explaining how Groovy went about the modularity problem: