Red Hat Replaces Oracle as OpenJDK 8, OpenJDK 11 Steward
theserverside.com
theserverside.com
That strikes me as a profoundly ignorant statement. Most of the value in the Java ecosystem lies in the JVM. There are many languages running on it, Java is only one. Java has improved a lot, but Scala and Kotlin both provide alternatives with their own strengths. Clojure also has a vibrant community.
As more focus centers on datacenter efficiency, I suspect there will be a move away from JS and Python as they both have performance limitations based on design.
Java is much stronger in that regard, but it'll be interesting to see how the newer AOT compiled languages do - Julia, Rust and Swift.
The proliferation of great new languages, stellar package managers, and comprehensive tooling have reduced the need for a single, do-it-all language. Now, there are a wide variety of languages that are better fit for specific domains (I.e. Go is very good for small services, python is good for data science and prototyping, rust is good for system programming, typescript is good for Frontend, etc), and the barrier to entry for all of those languages in a professional environment is lowering (if not already low). To me, this means that the next generation of developers will be versed in several of these more domain-specific languages, rather than spend their career working with a single language. Java may well be one of these languages, but I see a possibility that it will gradually fade out of mainstream greenfield development. Of course, the world is now built on the JVM so it will stay for a very long time, but maybe not for new projects.
Any candidate needs to be very strong to warrant the respective department to replace one of those pillars.
Also note that 9 and 10 were basically alpha versions. Nobody deployed 9 and 10. And 12 will probably have the same fate.
Moving to a non-LTS release (12) is a non starter of course.
I don't know a whole lot about Java 7 vs 8 vs 11, but wouldn't that make the most sense? 7->8 is one version upgrade, 7->11 is 4.
I would say that aside of the module system that came with a huge list of now inaccessible internal methods that a lot of dependencies relied on even though they shouldn’t have, there was even more change between 7 and 8 than there was between 8 and 11
If it's the bug I ran into then their code to detect running on a legacy JVM is tripping with the new JVM version numbers and it thinks that it's running under ancient Java 1.x. It's then saved in the org.apache.log4j.helpers.Loader.java1 field.
To migrate some code that needs log4j12 to more recent versions of Java I ended up writing a hack that accesses Loader before log4j uses it and manually sets that field to "false"
Lets not forget that besides IBM, which only made a single offer, no one else cared about saving Sun's assets.
So had it not been for Oracle, which even kept Maxime alive and made it into Graal, Java would have been effectively stuck and version 6, and the only new Java projects would be migration ones.
It seems everybody was overinvested in Java but nobody wanted to take care of it. And then Oracle, as much as it was "for bad reasons" took it and keeps developing it.
So Java was Priceless and Worthless at the same time it seems.
That's only because Oracle hollowed-out the JCP (Java Community Process) and reduced its function to rubber-stamping Oracle-developed tech. Java was the crown-jewel they paid for - they had the right to do what they wanted with it; but to be clear - it wasn't the community/other companies slacking, Oracle chose to do R&D of Java internally because they wanted to control the roadmap.
There is plenty of Red-Hat, Amazon, Alibaba, ARM, Intel tech on OpenJDK, which doesn't hide the fact that the large majority of OpenJDK developers are Oracle's employees.
Haters are going to hate, no matter what.
Even maven which is imho terrible to set up is a nice tool and the amount of libraries and tooling coming with it are amazing.
The JVM is now better than ever, the language is modernized, the library ecosystem is excellent. If you don't like the systax, alternative languages are well-developed and intergrated.
The things that are hard to beat about the Java world is the ecosystem, the tooling and the package management. Stuff more or less works without too much hassle, there's often a good library for what you want to do, and you're building on decades of previous industry work.
In terms of package management, the most unreliable parts of our project are Node and Python.
both can be proxy-cached on your local network to remove external dependencies.
both have ... uuuh... okay package managers (poetry/pipenv for python, npm/yarn for node) with *.lock files to properly define their dependencies. How does this differ from maven/gradle?
honestly, i prefer the node/python package management. Maven/Gradle is just so incredibly extensible making it insanely powerful.. But it comes at the cost of complexity and developers being unable to actually understand whats happening.