Project Jigsaw delay, now with a Q&A
August 28, 2012 § 2 Comments
With only 23% of people agreeing with the decision (on java.net) and with an “amount of disappointment, and even anger, as Project Jigsaw is deferred for a second time”, I was eager to read the alternate options Oracle would propose.
The part of the Q&A on Maven and OSGi makes for a good read. They’re not related to the Jigsaw change in plans per say but go check them out if you haven’t already. As for the rest, it turns out that everyone loves the new plan…
So here’s a short list of additional questions.
Is modularizing the JDK really the best way to prove Jigsaw works?
One of the top questions in the Q&A puts the modularization of the JDK itself as a pre-requisite for jigsaw’s integration in Java 8. While it’s a neat feature, a modular JDK would really mostly serve the JavaME camp, something Oracle, not the broader Java community, is generally interested in. There are many ways to validate the design and the implementation of Jigsaw with real-life Java applications and the JDK is not (by far) the best example of such an app. Modularization of the JDK, an implementation detail, can come later.
How much more time do you need?
The Q&A states that “a lot of progress” was made on Jigsaw, and I trust that to be very true, but what would have been really useful is to assess how much extra time was required to complete the work. Failing to do so simply slams the door on any alternate proposal based on a different release schedule.
Does longer JDK cycles really mean a later Jigsaw?
Speaking of the release cadence, those arguing for longer cycles are really asking for a Java 8 delay because they’re still trying to move to Java 7. So it’s probably safe to say that both those people asking for more frequent releases of Java and those calling for a delayed Java 8 all want Jigsaw earlier than the current 2015 plan. A lot of options would become possible if only Oracle was to reconsider the train model (one that has yet to be implemented anyhow).
By the way, as it stands, DateTime (JSR 310) has become a top-level feature of Java 8. As much as I appreciate its value I can’t help but think about the irony of the situation.
I don’t want to speak for the JavaEE camp but I also don’t believe modularity dropped off of their list of requirements (it was initially slated for Java EE 7). It seems that the requirements of Java EE, arguably one of JavaSE’s very top user and customer, have been ignored. Maybe it will comfort those in the community to know that being a colleague and a top customer comes with no privilege.
This is not a democracy
Of course, whether you and I like it or not, this is not a democracy and just like Twitter can upset its developer ecosystem, Oracle has the right to put its engineering cycles wherever it feels is right. I was hoping that the JDK team at Oracle would try its best to address the community concerns given the promise made less than 2 years ago but instead Java will be moving forward slowly. Very slowly.
(this is still of course my very personal opinion)