I have no idea why this Java "version" thing is even an issue on the internet. No one talks about C++ or C# issues, because there are none.
Uh what? https://learn.microsoft.com/en... and Microsoft has also moved it to short support windows. It's not a Java or Microsoft thing it's an industry thing that Microsoft is a big proponent of.
The MSVCRT absolutely is versioned too with its own issues, but now we're talking about the old school MS compatibility which has always been an outlier. It's not nothing, and anyone casually expecting that same treatment elsewhere is an idiot and taking what Microsoft pulled off for granted.
You're talking about Java because it's popular. In practical terms we're talking about Java on Linux, the most popular platform for running business software. Linux, all of its relevant native programming runtimes are also versioned and change frequently depending on popularity. Due to its distribution model is all tightly coupled to the OS release. Fun.
I have no empathy for developers that are totally fucking ignorant of runtime logistics. Whole fucking programming environments like Go were designed to get around open source runtime distribution problems, not to mention Java in the first place to get around broader cross platform issues, and you all just want to think you just write C, Java, Python, Ruby, ... what the fuck ever and oblivious to the fact you are targeting a _platform_, a point in time snapshot of all the core language runtime features and other dependencies, and someone has to pay for that point in time stability no matter how you slice it. Or you can speak a dead language and use dead dependencies that don't change and eventually nobody will want to support for other reasons. Hey, Perl is super stable now across Linux releases now! because nobody wants to use it, that's the cycle. Ruby is also in sweet spot. Java is actually a good deal all things considered.