“Jigsaw won’t be important for consumers for quite a while — we already have Maven and OSGi”
Oracle recently announced the general availability of Java SE 9 — even though it has over 150 new features to offer, the star of the release is the Java Platform Module System, also known as Project Jigsaw. We talked with Lukas Eder, founder and head of R&D at Data Geekery GmbH, the company behind jOOQ about his favorite features in Java 9, the ones that were not included, Project Jigsaw and the new version numbering scheme.
Java SE 9 is finally here. It has over 150 new features to offer, including a new module system and quite a few improvements which promise to bring boosted security, more scalability and better performance management.
The star of the release is, of course, the Java Platform Module System, also known as Project Jigsaw. Its goal is to help developers to reliably assemble and maintain sophisticated applications. Furthermore, developers can bundle only the parts of the JDK that are needed to run an application when deploying to the cloud so one could say that the module system also makes the JDK itself more flexible.
If you don’t want to dive into the modular ecosystem right away, you should know that it is possible to get started on JDK 9 without modules. As Georges Saab, vice president of development for the Java Platform Group at Oracle told us a few months ago, “the class path continues to work, and this is how many developers will likely get started with JDK 9.”
We talked with Lukas Eder, founder and head of R&D at Data Geekery GmbH, the company behind jOOQ about his favorite features in Java 9, the ones that were not included, Project Jigsaw and the new version numbering scheme.
Java 9 features
JAXenter: The wait is over — Java 9 has been released. What is your favorite feature and why?
Lukas Eder: The jshell is really cool to quickly try out a couple of things. I’ve liked the Scala REPL for ages – happy to see that in Java too, now.
Here’s a really nice example by Michael Simons who is running type safe, dynamic jOOQ / SQL queries in NetBeans using jshell.
JAXenter: Are there features you would have liked to see in Java 9 but were not included?
Lukas Eder: Tons! But they’ve worked on and will ship with project Valhalla, whenever that ships 😊
JAXenter: Project Jigsaw is finally here. How do you feel about the modular system? Will you get started with or without modules?
Lukas Eder: As a library vendor (jOOQ), we’ll have to support Jigsaw and modularize our library, obviously. Since I don’t expect very fast and thorough Java 9 adoption, we’re not in a hurry though. We made sure jOOQ works on Java 9 without being a module.
Java 9 is more of a “maintenance release”, like Java 6 or 7.
JAXenter: Project Jigsaw should have been a major feature of Java 8 but Oracle decided to postpone it. Instead, it became the key feature of Java 9 — was it worth the wait?
Lukas Eder: Yes. Java 8 was an important release. Jigsaw would have delayed streams, lambdas, default methods, JSR-310, and the many other nice little features without adding too much value to the ecosystem.
Don’t get me wrong — Jigsaw is important for Oracle and the JDK’s future, but it is not going to be important for consumers for quite a while – we already have Maven and OSGi, and won’t migrate to Jigsaw immediately. So postponing Jigsaw to help Java 8 get released was certainly a good decision.
We made sure jOOQ works on Java 9 without being a module.
JAXenter: Oracle has proposed a new version numbering scheme. What’s your take on that? Do you think it’s a good idea to change it?
Lukas Eder: I believe that someone at Oracle wants to distract the bike shedders out there to keep them from discussing more interesting topics 😉
JAXenter: Is Java 9 as interesting as Java 8?
Lukas Eder: No, it’s more of a “maintenance release”, like Java 6 or 7. I’m looking forward to Java X (or whatever it will be named).
Don’t miss Donald Smith’s keynote at JAX London about the current status of Java SE. He will give a quick overview of how OpenJDK plays a key role in the Java SE ecosystem, followed by details of the proposed plan and its current status.The keynote will be followed by a panel whereby the two key proposals – increased cadence and Oracle produced OpenJDK builds – will be discussed for pros and potential gotchas. Panelists include Daniel Bryant, Stephen Colebourne and Peter Lawrey.