Oracle restart development on Java modularization

Following slow progress, Project Jigsaw devs ditch four years work to take new simplified approach.

Work has started on a simplified “take two” of Jigsaw, the Java module system that has been under development for almost four years.

The new prototype will be a clean break from the first attempt, and while some code may be reused, Chief Architect Mark Reinhold wrote on the mailing list that it was an “opportunity to question earlier design decisions and generally clean things up”. Project Jigsaw was meant to be a headline feature of Java 7, consisting of a standard module system for Java which would then be applied to Java itself. However, since it was proposed in 2008 it has been deferred twice – first to Java 8 in 2010, and again to Java 9 last year. Reinhold notes that this “take two” attempt is a significant break, as it will “explore a simplified approach to achieving the goals of this Project”. It is perhaps a quiet admission that Jigsaw’s original aims were overambitious, although the Chief Architect says the development team “remain committed, of course, to this Project’s high-level goals”. In his message to the mailing list, Reinhold outlined this simplified approach:

Among other things, we’re going to see whether we can get away without introducing a distinct “module mode” as we have in the current prototype (which is incompatible, in some narrow yet deep ways, with long-standing behavior) and without doing dependence resolution (since build tools like Maven, Ivy, and Gradle already do that well enough).

The work will take place in a new public Mercurial repository cloned from the current JDK 8 master. Reinhold warns that “this is just another prototype” and “is likely to evolve swiftly”. Still, it could be an important – albeit drastic – step in solving Java’s modularity puzzle.