When Oracle acquired Sun in 2010-11, Sun had not shipped a new release of Java in more than four years.[0] That's hardly a "stability" worth treasuring.
Since then, Oracle completely open-sourced the JDK and the associated tools and gave the the compatibility kits to the community to use. The result is that there are now several different distributions of the JDK. This is undeniably a good thing.
As to the 6-month release cycle, it allows the community to get new features on a much faster cadence than any of the other major languages. If it's too fast for your preferred way of doing things, stick with the LTS releases, which come out on a three-year cycle and include all the features from the prior releases.
There might be reasons not to like Oracle, but their stewardship of Java has been pretty good.
> When Oracle acquired Sun in 2010-11, Sun had not shipped a new release of Java in more than four years.[0] That's hardly a "stability" worth treasuring.
Sun went several years without releasing a new major version, but that same page lists frequent minor updates. So yes, I would call that exactly a stability to treasure.
I mean, yes, there were fewer major features, but there were feature releases in those minor updates; there's nothing wrong with having stable software. Are you also one of those people who complain that stable Debian and RHEL releases include old software? Not everyone wants to live on the bleeding edge, and Java was a heavily enterprise ecosystem (for better and worse:]).
And the latest release is no bleeding edge. After eg. “feature freezing” JDK 17 before release, there was no subsequent changes to the codebase, meaning, they found no bugs whatsoever, which did happen beforehand.
Exactly, I don't get it why people think JDK 12-16 are inferior in any way, this is normal software tests in same way as any other JDK version.
The only difference appears after 6 months after release - if you don't want to upgrade (you should) you have to find vendor that will sell you support for given release.
E.g. Azul provides it for 11, 13, 15, 17. Oracle for 11 and 17.
Adoptium provides builds (not LTS) from 11 and 17 branches, where some vendors push their bugfixes. So it is like a semi-LTS, they won't fix your bugs, but if someone fixed a bug it most likely will end up on that branch.
Java language development itself wasn't stagnating, as far as I understand only the release process was stuck on a licensing dispute. IBM and other members of the Java Community Process stonewalled every new feature in the hope that they could force Sun to certify Apache licensed Java implementations like Harmony.
Agreed, with the caveat that what has been messed up is the clarity rather than the stability. AFAIK, there are plenty of options for freely-available, unencumbered, high-quality, reliable runtimes, and have been since Oracle got involved. It's just that it's been a headache to work out that this is true, and what you should use.
I think the situation is much better now than it was. The daft renaming of AdoptOpenJDK is the only recent low point.
This is not an issue in reality where devs just use whatever chocolately, brew or apt-get pull for them to develop and use whatever is the latest docker image for prod usage.