BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Reactions to Mark Reinhold's Recent Announcement of Project Jigsaw's Delay

Reactions to Mark Reinhold's Recent Announcement of Project Jigsaw's Delay

Leia em Português

This item in japanese

Bookmarks

Java developers across the ecosystem have been swift to react to Mark Reinhold's announcement last week that project Jigsaw, Oracle's planned modularity framework for Java, will now be delayed until Java 9, as previously reported on InfoQ. Jigsaw was originally scheduled to ship with Java 7 in 2011, then was deferred to Java 8, and is now delayed again until 2015.

The reactions to Mark Reinhold's blog are broadly divided into three camps:

  1. Good agile development: Release early, release often; if Jigsaw is late defer it to the next release and deliver Java 8 on time.
  2. Java 8 without Jigsaw is not worth the disk it's written to. Just wait for Jigsaw.
  3. Jigsaw has already been delayed twice and who knows if it will ever be delivered. Give up, Oracle and put your weight behind an existing technology.

Project Jigsaw is intended to deliver on two distinct sets of requirements:

  1. Separate the Java platform into distinct, independent modules that can be excluded until needed.
  2. Provide a platform for building and delivering modular applications.

Reactions to the news seem to depend on where people fall between those two poles:

OSGi supporters feel that OSGi is already well established as a modularity framework for Java applications, so there's some frustration about the direction Oracle has taken.

Former Technical Director at OSGi Peter Kriens told InfoQ it is time for projects to stop waiting for modularity and jump on OSGi:

If Sun/Oracle had not wasted the last seven years playing out their "Not Invented Here" syndrome we would have had a much more productive industry; it is clear that adoption of OSGi has suffered because of the resulting Fear, Uncertainty, and Doubt. If this new "planning" holds then we'll have (limited) modularity in the VM around 2015. A full lost decade after JSR 277 and an astounding 17 years after OSGi was founded. If you were holding your breath for Jigsaw it is now time to adopt OSGi to gain the advantages of modularity. Not only is there no alternative, tooling has really improved with bndtools.

Eric Newcomer, former chair of the OSGi Enterprise Expert Group told InfoQ how things might have been:

Four years ago we invited the Jigsaw folks to join forces. They declined, and I am afraid now everyone is paying the price for that unfortunate decision.

Modularity is by definition a complex problem (as the Jigsaw folks have just acknowledged), and I don't believe there was a serious effort to evaluate the potential for OSGi to be used as a general solution.

Neil Bartlett, OSGi Expert at Paremus Ltd, sees it as a missed opportunity:

It looks like we will not get the benefits of a modular JRE until at least 2015. This is a great shame for developers using OSGi just as it is for everyone else developing on the Java platform. For starters, who wouldn't like to have the ability to strip down the JRE to just the core functionality that we need? Also the way OSGi interacts with the JRE today leaves a lot to be desired. A modular JRE could have allowed OSGi bundles to require a JRE containing a specified set of versioned modules. We could then perform compile-time validation that only the required APIs were actually used within the bundle, and we could even use the OSGi R5 Resolver to work out which set of JRE modules to install when provisioning that bundle. I do still hope we can get to this point in the future.

Eclipse Foundation Executive Director Mike Milinkovitch provided InfoQ with a more somber response:

It is clear that the Java platform would greatly benefit from both a modularity model, and from being modularized itself. It is unfortunate that delivery of this important work has been pushed off until 2015. I am particularly concerned about the impact this may have on the road map for Java in embedded and mobile. An additional two year delay in those segments, which are by far the fastest growing, throws the currency and relevancy of the entire Java platform into question. Any development platform that doesn't have compelling business and technology stories for embedded and mobile developers is at risk of sliding into irrelevancy.

In the meantime, this delay provides an opportunity for the "other" Java modularity technology to flourish. OSGi needs to improve if it wants to survive in the long term, and this two year reprieve is an opportunity for its supporters. In particular, the OSGi community needs to step up its efforts around tools and usability if it is going to attract more Java developers.

Eclipse is significantly impacted by all of this, as 65% to 70% of all Java developers use Eclipse. Furthermore, our community is committed to OSGi as it underpins the Eclipse plug-in model. The continued health of both technologies is clearly important to the future of the Eclipse community.

On the other hand, Cameron Purdy, Oracle VP of Development is from the agile camp:

While it is disappointing that the Jigsaw release is delayed, it is important to get it right, and if that means a delay, then so be it. It would be far worse to rush something half-baked into Java. Look, doing it right will always take longer than anticipated.

A common theme is how much more of this should be expected? Markus Karg expressed it nicely in his comment to Reinhold's blog:

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.

Guillaume Laforge, Head of Groovy Development at Spring Source said:

We didn't go too far with modularity in Groovy 2... because we didn't want to duplicate what was supposed to be coming in Java 8. But now, it means it won't be in the hands of developers before two years, and in production before three years :-( It means that Jigsaw, if it ever ships, will have been 5+ years in the making. That sounds a lot, even for such a big feature and task.

Kirk Knoernschild tweeted some practical advice for Oracle to consider:

Joking aside, why not release a module system in Java 8 and modularize the JDK in Java 9. Why do both in a single release?

It is apparent that people are disappointed. But until Oracle delivers on Project Jigsaw, development teams will need to choose between waiting or adopting practical alternatives.

 

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Java is too slow to react.

    by Serge Bureau,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    This is unfortunate.

    I hope Scala comes soon with modularity on it's own, I have given up on Java a little while ago.
    I expect more to jump to alternatives.
    3 releases and maybe more to provide a feature ???

  • Why not separating the distinct sets of requirements of Jigsaw ???

    by Dominique De Vito,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    You wrote it: "Project Jigsaw is intended to deliver on two distinct sets of requirements:
    1) Separate the Java platform into distinct, independent modules that can be excluded until needed.
    2) Provide a platform for building and delivering modular applications.
    "

    It would be interesting to have news about progress for each of these requirements.
    And, then, if goal 2) is in a better shape than 1), is it possible to have 2) in JDK 8, and 1) in JDK 9 ?

    There are more than 3 camps for reactions to Mark Reinhold's blog, as you wrote. There is another camp: why not separating the release of each distinct piece of Jigsaw, for the benefit of Java developers ?

    Dominique
    www.jroller.com/dmdevito

  • Re: Java is too slow to react.

    by First name Last name,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    As Purdy commented, its better to get the jigsaw right the fist time because this is a big change. If you want modularization right now, you can use osgi.

    For me the Java 8's most exciting feature is lambda expression and other cool features
    www.infoq.com/articles/java-8-vs-scala

  • Agile?

    by Benny Colyn,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I largely agree with "Good agile development: Release early, release often; if Jigsaw is late defer it to the next release and deliver Java 8 on time."

    But i hardly call a planned release every 2 years agile. Every 6 months would be more like it. (OK once a year would be a compromise). If others can release entire operating systems in those intervals, oracle should manage to push out an overhauled JDK in that time (with whatever features are ready, and perhaps a few experimental ones behind a feature toggle).

  • Re: Java is too slow to react.

    by Serge Bureau,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Too little too late.

    I agree with Purdy, but 5 years between promiss and delivery is ridiculous.
    Cool features in Java 8, maybe if you did not look elsewhere. This is old for most languages.
    Keep on improving the JVM, Java is too inconsistant.

  • Do we even want Jigsaw?

    by Alex Miller,

    Your message is awaiting moderation. Thank you for participating in the discussion.

  • Re: Java is too slow to react.

    by Cameron Purdy,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I agree with Purdy, but 5 years between promiss and delivery is ridiculous.


    It is embarrassing to be so late with something that seems so obviously beneficial. The Java team could have pushed it into Java SE 8, but it would have been incomplete, it likely would not have been fully forwards compatible to Java SE 9 (which is a very scary thought), and Oracle would have had to ram it through the community process with no real time for improvement or feedback (and no time to make sure it fit well with other technologies, like OSGi!)

    I think we are all disappointed that it is late, but the choice that was made was the responsible choice.

    Peace,

    Cameron Purdy | Oracle
    (Employed by Oracle, but these opinions are my own.)

  • Re: Java is too slow to react.

    by Serge Bureau,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I am in no way blaming the people working on this project.
    I am sure that it is very complex to make this type of change without breaking any compatibility with past code, and it must take a large amount of ressources.

    I have moved to Scala for my development, I am still not an expert at it, but Java seems so weak in comparison.
    Of course the numerous Java libraries are of tremendous utility.

    But to me only the JVM matters from Oracle, Java is no more of interest to me.
    I in fact find the recent releases painful to watch. Sorry

    I cannot anymore find any justification for all your hard work, it should be put on the JVM and some more modern languages (Scala being the best IMHO)

  • Re: Java is too slow to react.

    by avajoejava avgjoejava,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I have attended many of Mark's presentations and he has always said that
    what goes into the Java the programming lanaguage are the features that
    have been time tested and proven in the industry. The java programming
    language and its incremental releases are not about inovation but are
    about standarization. One thing that has become clear on the Jigsaw
    mailing list is that it very much seems like a green field project
    where things are being thrown against a wall to see what sticks. Many
    years back when Mark postponsed modularity for the first time he
    gave some additional estimates on how long it would take to finish. After
    failing to meet the dealines he again pushed the entire Java 8 release out
    an additional year as to allow more time for things to "bake". One does have
    to wonder if they know themselves how long it will take. When you give that
    many estimates and you delay things that many times you have to wonder if
    the right resources and vision are place to deliver on such promises.

  • Re: Java is too slow to react.

    by Jonathan Halterman,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Really though - 5 years to build this thing? Using C# as a reference for the rate at which a language can grow under a big company, it shouldn't take that long. And this applies to many Java features, not just modularization.

  • Re: Java is too slow to react.

    by Henrique Rangel,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It is, sad. I like Java, but it is too slow to innovate indeed. I wonder what future awaits...

  • Re: Java is too slow to react.

    by Neil Bartlett,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It's more than 5 years. The original modularity JSR was 277, which started in 2005.... so when (if?) Jigsaw finally delivers in 2015, it will have taken a decade.

  • Re: Java is too slow to react.

    by Roopesh Shenoy,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Lets just hope the LOC added is not directly proportional to the amount of time taken! Anyone has any ideas on whether any rewrites have actually contributed to the delay (although being beneficial in the long run)?

  • Re: Java is too slow to react.

    by Werner Keil,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Scala with modularity and a few other things, Java lost along the road (mainly due to the lack of modularity all those years) already exists.
    It's called Fantom;-)

  • Re: Java is too slow to react.

    by Serge Bureau,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Sorry but Fantom is anemic compared to Scala.
    Putting Scala on the same sentence as Fantom is just funny

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT