How much old advice on Java concurrency will virtual threads change?<p>I'm building a course for people who are new to Java concurrency and I've made the assumption that from September, you will almost always _choose_ virtual threads over platform threads. The default virtual thread management surely matches what most people want most of the time (1 worker thread per CPU core, virtual threads on top). It removes a lot of the old worries about management of thread pools and how OS thread implementation details "leak" into Java.<p>It's brought it much closer to how I'd written coaching material for multithreading in Go, but the Executor abstractions will still let Java programmers shift over from platform threads at their own pace.
Looking forward to Loom so that I can stop having to work on these async codebases. I have no idea why people looked at nodejs and thought it was a good framework to copy. (Sure maybe there is some high performance computing unlocked but most people dont need it, and most teams end up with a rats next of complexity)
I'm glad Java is returning to its original design with userland threads.<p>Java users can finally have some decent readable concurrent I/O without the blight of reactive.<p>This is a huge win.
C# introduced async/await like 20 years ago and java still doesn't have it yet... I hope in the next 20 years they will finally find time to implement this feature.
I'm a bit out of the loop on new Java features so I was reading <a href="https://en.wikipedia.org/wiki/Java_version_history" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Java_version_history</a><p>And string templates looked exciting to me. But after skimming
<a href="https://openjdk.org/jeps/430" rel="nofollow noreferrer">https://openjdk.org/jeps/430</a><p>it sounds like they want to avoid backticks for "safety"? Like we can already use the plus operator to append strings why would it be any less safe to give us an ergonomic way to do that? Oh well, Java isn't exactly known for being ergonomic.
Features can be found here: <a href="https://openjdk.org/projects/jdk/21/" rel="nofollow noreferrer">https://openjdk.org/projects/jdk/21/</a>