JavaOne: Java SE 9 Delay Is About More than Jigsaw
- By John K. Waters
Work on Java SE 9 is moving forward apace, Mark Reinhold assured attendees during the JavaOne opening keynote on Sunday, but it won't be ready as soon as they hope. The chief architect for Oracle's Java Platform Group has proposed a four-month extension of the JDK 9, which would push the release to July 2017.
This is the second time Reinhold has asked to change the release date of the next version of Java. He asked for and got a six-month extension on the release in December of last year. Both times he cited the challenges posed by Project Jigsaw as the main reason for the extension requests.
The long awaited, much delayed modularization of the Java SE Platform and the JDK is the biggest change ever for Java. Brian Goetz, Oracle's rockstar Java language architect, has said that support for lambdas in Java SE 8 would "change the way we program in Java every day." But JSR 376, the Java Specification Request that aims to define "an approachable yet scalable module system for the Java Platform," will bring a fundamentally new kind of programming component to Java.
Even so, Reinhold insisted that the next release of Java is about more than just Jigsaw. To illustrate, he showed conference attendees an impressively long list of new features coming to JDK 9, and he demonstrated a new feature of this release: JShell, a Read-Eval-Print Loop (REPL) for Java that allows developers to evaluate cod snippets (declarations, statements, expressions), so they can test the code as they create it.
George Saab, vice president of development at Oracle Corp., who also spoke at the keynote opener, agrees that Jigsaw isn't the only reason JDK 9 is taking so long to perfect, but said that it's a significant change that Oracle simply wants to get right.
"Introducing a module system into a language and platform like Java SE, 20 years after its creation, when a large portion of the world's systems are running on it, is a very serious change," Saab told ADTmag. "We want to make sure that it works and brings the advantages we set out to achieve."
Saab added that Oracle isn't working alone. "Java SE is something we develop in OpenJDK, standardizing under the JCP, and there are lots of players that are involved in that," he said. "So it's not just about what we want. This is really about making sure that we're paying attention when people in the community brings things up about the design and implementation, and that we consider those things thoughtfully and carefully."
Reinhold's message on the OpenJDK mailing list reflected this consideration: "We recently received critical feedback that motivated a redesign of the module system's package-export feature, without which we'd have failed to achieve one of our main goals," Reinhold wrote. "There are, beyond that, still many open design issues, which will take time to work through."
"We're happy to say that there are a lot of other features in Java 9 that are well past feature complete," Saab said, "and we don't anticipate using the change in the schedule to add more things to this release. It's just about making sure that we can complete development on the module system."
To the question of whether the extra time being taken to finish Java SE 9 will be made up, so to speak, with a faster release of SE 10, Saab said, maybe.
"We are getting to the point where the cadence of major releases of Java SE could be sped up," he said. "And we feel that Jigsaw is one of the key components that might enable that. It sets a foundation for upgrades in the future that are smoother and faster."
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].