Weekly Links: November 30, 2020
We got a good idea of what we’ll get with Java 16 next March. However, we don’t know the plans for Java 17, the next “once every three years LTS version”. But it seems that none of the big OpenJDK projects (Valhalla, Loom, Panama, and Amber) will be ready then. Now, most organizations only use Java LTS versions. So they couldn’t use these exciting Java features until Java 23 in September 2024. Or Oracle only makes, say, Java 19 in September 2022 the next LTS version. This sucks either way.
And what’s up with these code names, Oracle? So Valhalla and Loom are computer games, Panama reminds us of [a war](https://en.wikipedia.org/wiki/Panama?q=Panama&_ext=EiQpAACm%2F%2F%2F%2FIUAxAADx%2F%2F%2F%2FU8A5AACm%2F%2F%2F%2FIUBBAADx%2F%2F%2F%2FU8A%3D#US_invasion_(1989), and Amber alerts warn us of child abductions. I think you better stick to places, like Apple or Intel.
Last week I talked about the new Apple laptops with the Apple-made M1 CPU. They translate existing Intel Mac programs into their ARM instruction set and run them very fast. Still, we want native ARM programs to get the most out of these new machines. And thanks to Azul, we can now run Java 8, 11, 13, and 16 natively on M1 CPUs. That seems to be good enough to run IntelliJ, as the video in the article demonstrates. I’m looking forward to IntelliJ starting as fast on my next Mac, too!
Reactive development has become very popular. We have it on the front-end with frameworks like React. It also lives on the back-end in Spring, Helidon, and others. I didn’t know that there was a “Reactive Manifesto”. Well, now there’s the second version of that manifesto!
Talking about reactive programming: The head of Oracle’s project Loom argues that most people don’t like the reactive programming model withs streams and are better served with Loom’s lightweight threads. Them’s fighting words!
This is the third and final release of IntelliJ this year. It should be out in the next few weeks. Here are my highlights: We can create new Java 15 records (still preview) and convert them back to regular Java classes. We can click on the so-called “debugger inline hints” to see all field values. And IntelliJ Ultimate identifies URL endpoints and searches them across your front-end and back-end code.
Over the Fence
It’s been five years since PHP 7. So what’s new in version 8? A bunch of stuff we already got in Java: A just-in-time compiler (JIT), annotations (called “attributes”), and a proper
throw statement. But they also got things we don’t have: Union types, a null-safe operator, and constructor properties. Here’s hoping that Java 20-something will give us these!
on how to build Java applications today!