I got 99 problems but a switch() ain't one: Java SE 13 lands with various tweaks as per Oracle's less-is-more strategy
All part of Big Red's regular small-ish release plan as opposed to large infrequent updates
Code One Oracle on Monday announced the release of Java SE 13 (JDK 13), saying it shows the tech titan's continued commitment to make innovation happen faster by sticking to a predictable six-month release cycle.
No evidence was provided to demonstrate that enterprise innovation is actually accelerating as a consequence of biannual platform revisions. Oracle at least deserves credit for its commitment to consistency.
Word of JDK 13 arrived on Monday as Oracle's co-located OpenWorld and Code One conferences got underway in San Francisco. The Code One keynote, preceded as in previous years with a disclaimer that investors shouldn't rely on anything said at the show, opened with an overview of quantum computing by Jessica Pointing, a doctoral student in quantum computing at Stanford University.
What does quantum computing have to do with Java? Well, Pointing said developers can write code for the Strange Quantum Computer Simulator in Java.
The challenge for quantum computing right now, she explained, is to demonstrate that a quantum computer can outperform a classical computer to solve specific types of problems. Surprisingly, despite quite a bit of investment, that hasn't happened yet. It could happen in the next few months. Or it might take a few years. Or decades.
Looking back a few years to 2017, Georges Saab, veep of software development for the Java platform, recalled the decision to change the Java release cadence, noting that large releases every few years displayed downsides as the world embraced more rapid change.
Oracle's Java team shifted to a six-month release cadence two years ago because waiting three or four years between major releases just isn't done anymore, for the most part. C++ still sticks to a three-year update cycle but that seems glacial compared to annual ECMAScript improvements, twice yearly Node.js revisions and Chrome browser releases that appear every six weeks.
Enterprise Java spec packs bags, ready for new life under assumed name – JakartaREAD MORE
"Three of these releases have been delivered since then and the fourth is imminent," said Saab. "We're proud to announce Java 13 with general availability starting tomorrow."
Binaries for JDK 13 are expected to be available for download on Tuesday, September 17.
Saab proceeded to interview various developers who use Java at various companies to reveal that they're happy with the faster release cycle. Unsurprisingly, no naysayers showed up.
Notable preview features in the release include switch expressions (JEP 354), which extends the switch statement so it can be used either as a statement or as an expression, and text blocks, which provides a concise way to represent multi-line text strings without escape characters (JEP 355).
"It's not a particularly sophisticated feature but it makes a big difference," said Brian Goetz, Java release architect.
Preview features may be changed or removed, and are provided to solicit community feedback.
JDK 13 includes several other JEPs (Java Enhancement Proposals). JEP 350 extends application class-data sharing to improve startup and memory footprint. JEP 351 modifies the Z Garbage Collection (ZGC) so it returns unused heap memory back to the operating system. And JEP 353 replaces the old Socket and ServerSocket APIs with more modern code that's more maintainable. It also lays the groundwork for user-mode threads, known as fibers.
Goetz acknowledged that there aren't a lot of big features because those are now being broken up into smaller ones to accommodate more frequent updates. "There's just as much innovation, going on, perhaps more, but it will be broken up over a series of smaller releases," he said. ®