Weekly Links: November 23, 2020
Java
Proposed schedule for JDK 16
The planned release date is March 16, 2021. Did they pick “16” because it’s version 16?! If you visit the link above, please marvel at the beauty of this mailing list. The web interface probably hasn’t changed much in the last 25 years. Unlike the rest of us!
Tools
Apple MacBook Pro with M1 Review
Unless you’ve been living under a rock, you’ve probably heard about the new Apple laptops. You know, the ones that ditch the Intel x86 CPU for an Apple-made M1 chip? That M1 is a close relative of the ARM CPUs that drive iPhones and iPads. It’s both faster and uses less power than comparable CPUs from Intel or AMD. The MacBook Air doesn’t even have a fan. And you hardly ever hear the fan of the MacBook Pro.
Because there are only a few native ARM programs right now, macOS translates x86 into ARM code on the fly. That’s how we get Homebrew to work, even though “there won’t be any support for native ARM Homebrew installations for months to come”. But no such luck with Docker: It needs at least a few months, too. And then all the Homebrew packages and Docker images need to be built for ARM… Azul leads the work to port Java to ARM macOS. There’s only a pre-release for Java 16 out right now.
So my recommendation for Java developers: Wait at least until next spring before you get an M1 machine. Maybe by then, we can also buy a MacBook Pro 16 inch with four ports and more RAM!
Releases
Jakarta EE 9
So I think that Jakarta EE 9 (the framework formerly known as “Java Enterprise Edition”) is now available: The “JakartaOne Livestream” conference is on December 8, “less than a month after the formal GA releases of Jakarta EE 9 and MicroProfile 4.0” (highlights are mine). But towards the end of the article, I read that “it was recently decided to formally release Jakarta EE 9 in conjunction with JakartaOne Livestream 2020 on December 8th, 2020”. What the heck? Is Jakarta EE 9 released or not? Either way, Jakarta EE 9 just renames packages and drops Jakarta EE 8 specs that aren’t needed anymore. Jakarta EE 8 itself was fully compatible with Java EE 8 from 2017. So yes, Java/Jakarta EE hasn’t got new functionality since 2017. Hopefully, it will next year!
Spring Native for GraalVM 0.8.3
This project turns our Spring applications into fast & small native applications. It’s what we all missed in Spring 2.4. This is the first version that’s based on Spring 2.4. The functionality is still pretty limited. So we should at least wait for version 0.9 in early 2021. That version is officially a beta and includes “a subset of Spring Boot starters like Spring MVC, WebFlux, Data (JPA, JDBC, Elastic Search, Neo4j, MongoDB, Redis, R2DBC), Security, Batch, Function, etc.” As announced before, only Spring 6 will give us “first-class support for native application deployment” (maybe). See you in fall 2021!
Developer job ads down 32% year over year, Stack Overflow questions dropped 55% since ChatGPT. I now recommend IntelliJ Community Edition because many AI code assistants don't run in Eclipse. Job ads for Quarkus hit an all-time high.
Read my newsletter