Or maybe, just maybe, Oracle finally realized Java has become a bloated piece of over-engineered enterprisey abandonware, the developer community has largely moved on, and it won't make them money going forward.
Java is in maintenance mode. So they open source Java (for real this time) so someone else will take maintenance costs off their hands, and they can still sell their app suites which use Java.
Enterprise customers use only two stacks when performance matters, Java or .NET, maybe with some additional C++ sauce, anything else are small contractors trying to get a piece of the pie from enterprise projects.
Java is a language, not some of the enterprise `AbstractFactoryProxyBuilder` horrors written in it.
Theres plenty of good things written in Java, and theres plenty of trash written in <trendy new language>.
Java the language is great - exceedingly well specified & documented, tested & optimized JVM platform, very simple & familiar with a lot of communal knowledge around it, great tooling around IDEs, runtime inspection that most languages can't match yet etc. Great might be a matter of taste, certainly not horrible and generally up to par with most other langs.
Extreme generalizations like "X is bad & evil!!!!!" aren't really useful lenses to view software through.
The JVM and tools + libraries built around it are great. Java itself is trash, IMO - I really don't see any reason you'd want to write Java instead of Kotlin. Saves you the hassle of boilerplate, introduces plenty missing features/improvements, runs on the JVM and on Android as well, and switching over is trivial.
I would prefer writing Scala/Kotlin over Java. I still don't think that merits calling Java "trash". I am perfectly happy writing Java. Boilerplate & a few null-checks are very far from the truly horrible things about bad software - they are minor annoyances.
This hyperbole about language is really not helpful. On the scale of things that make code good or not, separation of concerns & modularity, documentation etc. are 10-100 times more important than language.
I've been playing with Kotlin a bit recently. I really enjoyed it until I started coding some stuff in earnest and discovered that I still find Netbeans & Java more productive than Idea & Kotlin. The issue with boilerplate in Java is overblown - IDEs just generate all that stuff.
Calling Java trash is pretty offensive IMO.
What does it mean to "make Java binaries available directly from OpenJDK"? If the licensing restriction used to be just for Oracle-built binaries, anyone could just use normal distro provided OpenJDK binaries for kiosks and appliances, right?
Yes, you could. But the distro has to build these binaries. The OpenJDK project offers no binaries, you can't download OpenJDK binaries from the OpenJDK website.
19 comments
[ 4.2 ms ] story [ 59.8 ms ] threadJava is in maintenance mode. So they open source Java (for real this time) so someone else will take maintenance costs off their hands, and they can still sell their app suites which use Java.
It's just had one of the biggest releases in years, with 8.
And 9 I understand it is going to be even bigger, with jigsaw - the goal being much smaller dependency.
The Dev community is thriving, growing in fact. The latest release has made lots of people think Java is actually pretty good.
The reference implementation is now the open jdk. So yadda yadda yadda with oracle.
How so? Moved on to what?
But you have to use the alpha beta double nightly for things to actually work.
Enterprise customers use only two stacks when performance matters, Java or .NET, maybe with some additional C++ sauce, anything else are small contractors trying to get a piece of the pie from enterprise projects.
Java the language is great - exceedingly well specified & documented, tested & optimized JVM platform, very simple & familiar with a lot of communal knowledge around it, great tooling around IDEs, runtime inspection that most languages can't match yet etc. Great might be a matter of taste, certainly not horrible and generally up to par with most other langs.
Extreme generalizations like "X is bad & evil!!!!!" aren't really useful lenses to view software through.
Even more so when Hotspot finally gets replaced by Graal, as long term plan on the Java's future roadmap.
Likewise on Android, yes Kotlin now has official support, but AOSP Framework code is still Java and it will stay like that for the years to come.
This hyperbole about language is really not helpful. On the scale of things that make code good or not, separation of concerns & modularity, documentation etc. are 10-100 times more important than language.