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
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
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.