days
0
3
hours
1
3
minutes
3
6
seconds
2
8
search
A glimpse into the future of Java

Georges Saab: “The Java 9 delay doesn’t mean there’s a change per se to Jigsaw”

Gabriela Motroc
Java 9
Georges Saab

The release of Java 9 could be delayed to September 21, 2017. What does this mean for Jigsaw? What does this mean for developers? We talked to Georges Saab, chairperson of the OpenJDK governing board and vice president of development for the Java Platform group at Oracle about the proposal to delay the release of Java 9, the roadmap towards Java 10 and more.

The release of Java 9 could be delayed to September 21, 2017, according to Mark Reinhold, the Chief Architect of the Java Platform Group at Oracle. Reinhold wrote in a message to the OpenJDK mailing list that even though the JCP Executive Committee’s decision to vote not to approve JSR 376 for the next stage of the process, this doesn’t mean it is dead, “nor that Jigsaw has been rejected.The JCP rules give the EG thirty days, until 7 June, to submit a revised specification for a second EC vote, which will end no later than 26 June.”

After a series of conference calls held in May to discuss the EC’s concerns, Reinhold suggested to “continue to work toward the current goal of producing an initial Release Candidate build on 22 June but adjust the GA date in order to accommodate the additional time required to move through the JCP process.”

To be specific, I propose that we move the GA date out by eight weeks, from 27 July to 21 September.

If no objections are raised by 23:00 UTC June 6, or if they’re raised and satisfactorily answered, then per the JEP 2.0 process proposal this will be the new schedule for JDK 9, he concluded.

 

“There is no Java 9 without Jigsaw”

We talked to Georges Saab, chairperson of the OpenJDK governing board and vice president of development for the Java Platform group at Oracle about the JCP Executive Committee’s decision to vote not to approve JSR 376 for the next stage of the process, the conference calls, the proposal to delay the release of Java 9 and more. 

JAXenter: It seems that Java 9 might be delayed again. This time for a different reason, although still related to Jigsaw. What does the delay mean for Jigsaw? It is, after all, the star of the Java 9 release.

Georges Saab: Jigsaw is the key driving force of Java 9 so there is no Java 9 without Jigsaw. However, the delay does not mean there’s a change per se to Jigsaw.

JAXenter: There will definitely be Java 9 features that pose a challenge to developers but is Jigsaw one of them? 

Georges Saab: Historically the main issue we have seen with adoption is when one bit of code ignores the public API of another and instead calls into what is meant to be internal implementation details.  This means that if that internal implementation changes, that calling code may break.  Over the years we have taken great pains to avoid (even) this kind of change — which taken to its extreme risks having evolution grid to a halt.  This is one of the main reasons for the introduction of the module system, which allows encapsulation of internal implementation details and restricts other modules to only call the public API.  Once in place, this will make it far easier for the entire ecosystem to evolve rapidly.

To allow migration to occur gradually, we recently proposed that the enforcement of this encapsulation be introduced over time.  So it is not the module system itself, but the stricter encapsulation which most pre-existing code is likely to run into.

Going forward in a modular ecosystem, I expect the adoption of new releases to be far more rapid than they have been in the past.

Of course, it is possible to get started on JDK 9 without modules, the class path continues to work, and this is how many developers will likely get started with JDK 9.

There are a couple of other changes which people may run into, one is the change in the format of the version string (JEP 223) and another is to the change in the packaging of the JDK itself (for instance, there is no more rt.jar).

JAXenter: Project Jigsaw should have been a major feature of Java 8. Why was it postponed to Java 9? Does it also have a central role in Java 10?

Georges Saab: It was postponed to 9 so that we could focus on the key features of Java 8.  It plays a central role in the future since it provides the basis for more rapid evolution of the platform while ensuring the excellent compatibility for which Java is known.

JAXenter: Do you expect the adoption of Java 9 to be swift? 

Georges Saab: JDK 8 was adopted more quickly than any major release in the past. I expect JDK 9 to be slower than 8 but on par with other major releases in the past. Going forward in a modular ecosystem, I expect the adoption of new releases to be far more rapid than they have been in the past.

JAXenter: Were there features that you wanted to put into Java 9 but ended up not including them? Will we see them in Java 10 instead? 

Georges Saab: There were dozens of projects which made it into JDK 9 in addition to Jigsaw. Of course, there are a lot more we are working on for the future, and some we felt would benefit from additional time and feedback from people using them — which is one of the reasons we introduced the notion of ‘incubator modules’ in JDK 9 (see JEP 11).  As an example, JEP 110 — the HTTP/2 client API is an incubator module in JDK 9.

 

Java 10 and beyond: “Features will not be tied to releases in advance”

JAXenter: What’s on the roadmap towards Java 10?

Georges Saab: In the past, major features have been tied to releases — which has meant that if those features needed longer the release would have to slip.

Going forward, features will not be tied to releases in advance — instead releases will happen frequently at fixed times, with features being targeted to a release once they are essentially done. In addition, there is now a way of testing certain kinds of new features.

JAXenter: You said at JAX 2013 that JavaFX is close to your heart. It has been marked for death so many times but JavaFX is still standing. What should we expect to see in the future?

Georges Saab: There were a number of things done in JDK 9 on JavaFX, including updating it for modularity (JEP 253) and adding support for GTK3 on Linux (JEP 283).

I expect there will be many more interesting things to come out of this passionate community in the future.

Thank you very much!

asap

Stay up-to-date with the latest news about Jigsaw and Java 9:

Author
Gabriela Motroc
Gabriela Motroc is an online editor for JAXenter.com. Before working at S&S Media she studied International Communication Management at The Hague University of Applied Sciences.

Comments
comments powered by Disqus