JSR 376 Ballot and Automatic Modules
Nicolai Parlog

Great article!

A couple of points that IMHO seem overly pessimistic:

  • Regarding the layer primitives, I see a couple of small patches on the mailing list by David Lloyd that look quite reasonable. They may need some more work, but with Oracle’s help that can surely by done.
  • I don’t see any calls that reverting strong encapsulation is a prerequisite for compromise.
  • Cyclic dependencies are only required at runtime and it seems like this is a real issue for large module graphs. It also looks like a very minor change that does not hurt any compile-time guarantees. It should be easy to compromise on that point, even if Oracle does not agree with it.
  • Red Hat proposed module isolation with an opt-in flag and a patch is also presented on the mailing list. While this is the most difficult topic, I don’t see this as insurmountable if Oracle starts working together with Red Hat.

The main question is whether Oracle wants to accommodate these changes or not. A question for you: Do you really think that Oracle would back out the entire JPMS in Java 9 if the next vote fails? IMO they would just release it as an OpenJDK implementation detail and ignore the JCP vote.

Show your support

Clapping shows how much you appreciated Ingo Kegel’s story.