Awesome talk overall and great short and practical recaps of the most fundamental changes in the recent Java versions. I went ahead and featured it in the latest issue of Tech Talks Weekly newsletter 🎉! With that said, I must say I like that Java finally introduces battle-tested concepts long-time present in other languages. Algebraic Data Types enabled by sealed classes and records along with record patterns (new addition in Java 22) are a powerful tool for domain modeling.
All the modules/apps in the project I work on where updated to Java 17 on Q1 2023, now we're moving apps to Java 21. It's also your responsibility as a Software Developer to say your opinion about why your team should update to newer versions: security concerns, better readability, etc.
Are you talking about money laundering enterprises? I would never suggest someone to work a in project where people don’t give a shit about constantly evolving the development workspace.
There used to be a somewhat(!) reasonable excuse to linger on 8, because moving to modules can be a bit of a pain at first. But there is no such excuse to stay on 11. It's just plain outdated.
I think this isn't as big as people make it to be. Sure there are a few legacy systems, which could be upgraded if the management had the motivation but they don't. All new projects are done with the latest JDK version and many teams I've been part of just have upgrade with none or not too many issues.
So many useless features that just complicate the language for no reason. So much wasted energy that could have gone into useful things, such as async/await, or dynamic hardware thread use via hill-climbing, or better security features like flags to disable entirely certain unsafe features in all dependencies, etc. Java is lost in a sea of design-by-committee decisions.
Are you using Java? Text blocks, records, pattern matching, switch expressions, local variable type inference and so on really improved my experience as a Java developer. I don't think async await is optimal, it divides the world between async methods and normal methods. Virtual threads seem much more promising.
You don't seems to be Java developer or maybe you coming from JS background. You literally have no idea how these features are big relief and very amazing to work with when developing applications in Java. Get an enterprise Java job, work for at least 2-3 years, you will understand why these features are amazing!