The Java Gang at Oracle Talks Java 14
Oracle announced the general availability of Java 14 (Oracle JDK 14) this week, and though this is not a long-term support release, it comes with some highly anticipated new features -- plus, it arrives just two months before the 25th anniversary of the Java programming language, which was released by Sun Microsystems on May 23, 1995.
This seemed like a good time to check in with the Java gang at Oracle (from a safe distance, via video conferencing). Georges Saab, vice president of software development in Oracle's Java Platform Group, sees the same "candy-to-medicine ratio" in this release as we saw in Java 8, which, as he predicted, was very popular. The "candy" in Java 14 comes in the form of incremental features from some longer-term projects, such as Panama and Valhalla.
"Those are fairly ambitious projects that we started around the time we were working on delivering Java 9," he said. "We knew they going to take while to bear fruit, so we're really pleased to see some of these things coming in—things like Pattern Matching, Records, and the Foreign-Memory Access API. All of those things have come from those larger projects. This is the start of something we'll see play out over the next few releases. From that perspective, this is quite an exciting release."
As I reported earlier, the list of JEPs addressed in this release is a long one. Pattern Matching (JEP 305), which allows common logic in a program to be expressed more concisely and safely, and Records (JEP 359), which provide a compact syntax for declaring classes that are transparent holders for shallowly immutable data, are both previewed in Java 14. Saab explained how Oracle is defining a feature "preview."
"People ask about this," he said. "Is it an alpha? Is it a beta? But it's actually a completely defined, production quality feature that hasn't had a chance to get the kind of broad feedback we really need on something that's going to be in the Java platform for the next few decades. We want to make sure we're getting it right, so we put it in as a preview feature, which developers have to actually enable, so they won't accidentally write some code that depends on that feature and not be aware it."
Saab also said he continues to get mostly positive feedback on the faster release cadence.
"People who made the investment to move from eight to something after nine, are in a really good place now," he said. "They can choose to keep a production workload running on Java 11 while they're trying out the newer releases. They've told us it was a bit of an effort to get to 11, but now, they're finding it really easy to move forward with the smaller, six-month releases."
When I pushed him or favorite new features, Aurelio Garcia-Ribeyro, Oracle's senior director of product management in charge of Java SE, and a Sun Microsystems veteran, didn't hesitate.
"It's Records," he said. "It's just so easy to show the benefits on that one. I remember when I was learning Java, it took me a while to get used to having to write boiler-plate code. For every class, you had to implement toString(), equals(), and hashCode(). Now, if you're using records, you don't have to do that. Records provides a compact syntax for declaring classes which are plain immutable data carriers."
Manish Gupta, Oracle's VP of global marketing for Java and the GraalVM, pointed out (as the marketing guy should) that Oracle's contribution to this release surpassed all other contributors combined.
"There is a strong ecosystem that's participating in the OpenJDK for all of the releases," Gupta allowed, "and the development is done in a transparent and open manner. But the level of investment and the engineering resources Oracle continues to put behind this platform far exceeds the investment from Red Hat, IBM, and others, though they make a lot more noise about their contributions."
Gupta also weighed in on the status of Oracle's Java SE subscription service, which Big Red launched in June 2018. "Although there was a lot of initial anxiety in the market, and we couldn't predict what the uptake would be, I'm happy to report that we have, with many of our customers, crossed the one-year line," he said. "Our last quarter was the first to see subscription renewals, and we came close to a 90% renewal rate. It's a validation of the model, which was a significant change. Thousands of customers are seeing value in it."
I pointed to my interview with Gartner analyst Anne Thomas earlier this year, in which she suggested that the advent of Oracle's subscription model hit the budgets of many organizations hard.
"Options still exist for people," he said. "But if you're an enterprise, you're probably going to be paying for support somewhere. The question is, do you want the support of the company that is driving much of the innovation in the Java space, or others. We're not trying to lock you in, but we want to make sure you recognize the value you get from Oracle."
Posted by John K. Waters on March 19, 2020 at 11:16 AM