Some people seem to believe that Node.js might have a chance at overtaking Java in the near future. Can Java really be dethroned? Why/why not?
What did you think of the fact that Java 9 was delayed to September? Do you agree with the JCP Executive Committee’s decision not to approve the Public Review Ballot for JSR 376?
I think it was a good decision. The conversation that happened after the vote and the changes that were made are for the best. We needed this “wait, let’s talk” time.
The most important misconception is that the industry massively rejected Jigsaw and it was removed from Java 9
Georges Saab, chairperson of the OpenJDK governing board and vice president of development for the Java Platform Group at Oracle told JAXenter in early June that many developers will probably get started on JDK 9 without modules. How do you feel about the modular ecosystem?
That’s good. Most of the development doesn’t need modularity and Jigsaw in its old form brought a lot of complexity and limitations without clear benefits. It’s an extremely important move for the JDK, no doubt about it, so Jigsaw is good, but encapsulating it in the platform as a first step is the right move.
My overall feeling on Java 9 modularity is that new projects will probably want to investigate whether using JPMS will give them any benefits, but most existing large code bases will not be migrated to use it (indeed, they might not see any benefit from it unless they were already going to re-architect into smaller pieces, for example for migrating from a monolith to microservices).
The difficult part, in my opinion, falls upon the developers of library code, those open source jar files we all use daily. Some developers will want the libraries they depend upon to be true modular jar files, not automatic modules, which puts pressure on library developers to migrate their code. There are benefits to doing this, especially for library developers, for example, they can hide away implementation details and internal APIs (the very thing Jigsaw was designed to do), but it will be non-trivial for many to do this migration and the benefits need to outweigh the costs.
Top 20 Java Influencer Baruch Sadogursky
What is the most important misconception about Java 9? How about Jigsaw?
The most important misconception is that the industry massively rejected Jigsaw and it was removed from Java 9. The industry forced a dialogue that ended up in a good compromise that kept Jigsaw in Java 9 but in a more developer-friendly way.
What would you like to see in Java 10?
I am waiting for project Valhalla. It will really change the way we write Java.