Appreciation for Modern Java and the JVM
Many users expressed positive sentiment towards recent developments in Java and the Java Virtual Machine (JVM). There's a sense that the language has become more enjoyable and innovative.
- "The JVMin the last 6-8 years has been a powerhouse of innovation and cool features. Incredibly impressive!" - exabrial
- "I never thought I would be excited for a new release of Java, but ever since Java 21, I have grown to actually enjoy writing the language. Whomever is running it has really done a good job making the language actually fun to write in the last few years." - tombert
- "The JVM is really a fantastic piece of engineering and IMHO represents a whole direction in computing I feel sad that we didn't take. We opted to stay close to the metal with all the security, portability, code reuse, and other headaches that entails, instead of going into managed execution environments that make all kinds of compatibility and reuse and portability problems mostly go away." - api
- "The more I search for a new language to learn the more I want to go back to Java. I feel so nostalgic :)" - okokwhatever
Oracle's Role and Stewardship of Java
There's a nuanced discussion around Oracle's stewardship of Java. While some express gratitude, others harbor skepticism, particularly concerning past business practices. However, a common thread is that, despite any reservations, Java has thrived under Oracle's ownership.
- "And a thank you to Oracle for being a good steward of the language." - panny
- "The fact is, despite Oracle being a menace to the tech industry, Java under their watch is thriving. Which is weird, because I don't know anyone who gives them money for Java. I'm genuinely curious who these companies are and what their incentives are!" - stickfigure
- "When Sun got bought, I thought to myself: āAt least they would also destroy Javaā¦ā. But nooo, Java thrives and flourish under Oracle protection." - didip
- "The only thing that's paid is support, and the OpenJDK folks are Oracle employees (well, the ~90% of them who do ~95% of the work on OpenJDK). OpenJDK is an Oracle project in the same sense that Chromium is a Google project. In fact, OpenJDK (even more precisely - the OpenJDK JDK) is the name given to Oracle's implementation of the Java SE specification, but we do get contributions from other companies, such as this particular great enhancement to JFR (even external contributions also involve significant work by Oracle employees)." - pron
- "The idea there is that it's cheaper for companies with legacy software that isn't actively maintained to pay for some portion of the performance improvements in modern JVM generations than to ramp up maintenance to upgrade to modern Java, and this can help fund the continued evolution of OpenJDK." - pron
- "Paying per core for āenterpriseā just because youāre a business isnāt my idea of being a good steward. If anything we should be championing the OpenJDK folks. They are the real heroes." - reactordev
- "Nope, people keep forgetting no one wanted to buy Sun, not even Google after torpedoing (which would save them from their J++ like lawsuit). IBM kind of thought of it, but ended up withdrawing the offer. So the anti-Oracle folks would have seen Java wither and die in version 6, and the MaximeVM technology would never had been released as GraalVM." - pjmlp
OpenJDK's Robustness and Community
A significant theme is the resilience and open nature of OpenJDK, with users highlighting its open-source foundation and the collaborative efforts of various companies in its development. The potential for forks and community adoption is seen as a safeguard against any single entity controlling the project.
- "OpenJDK is the specification implementation. A huge amount of the OpenJDK development is paid for by Oracle (And others)." - ecshafer
- "What rug pull do you picture could happen at this stage? OpenJDK is the reference spec. Fully open source. Stewarded by multiple companies. Even if Oracle somehow managed to force the whole thing closed source (not sure that's even possible?) you've got all the other contributors who'd "hell no", fork and away you go. Which version of Java do you think the community would go with? There's no way it'd work." - Twirrim
- "If you don't want to buy a support service, either from Oracle or any of the other companies that sell it, the use of the JDK is free. There is no "enterprise" flavour of the JDK, paid features, or use restrictions as there used to be under Sun's management. Java is obviously freer now - as in beer or in speech - than it was 20 years ago." - pron
Distinguishing OpenJDK from Other Products (GraalVM)
There was a clarification made regarding GraalVM and its enterprise edition, with users emphasizing that it is a separate product and not an "enterprise flavor" of OpenJDK.
- "It's called GraalVM enterprise edition." - Moomoomoo309
- "That has nothing to do with OpenJDK, GraalVM is its own thing." - pjmlp
- "GraalVM is a separate product developed by an unrelated team. Its enterprise flavour is not considered an enterprise flavour of the JDK." - pron
Java Ecosystem and Language Criticisms
One user offered a defense of the Java language itself, arguing that much of the criticism stems from historical "enterprise design patterns" rather than the core language. The JVM's engineering excellence was also praised, with regret expressed that this computing paradigm didn't become more dominant.
- "Most of the hate comes from the overly complicated "enterprise design patterns" crap that took over the ecosystem in the late 90s into the 2000s, not the language itself. It's quite possible to write clean, clear, appropriately complex, well performing Java code." - api
- "The JVM is really a fantastic piece of engineering and IMHO represents a whole direction in computing I feel sad that we didn't take." - api
Developer Licensing and Historical Practices
A brief sidebar touched on historical instances of companies charging for software that is now typically open source, drawing parallels to Microsoft's past "Linux Licenses" and the SCO vs. IBM lawsuit, suggesting that such lawyer-driven revenue streams are becoming less common.
- "Not that two wrongs make a right, but donāt forget Microsoft once sold āLinux Licensesā, and then thereās the whole SCO vs IBM debacle. Lawyer driven revenue streams are falling out of style, unfortunately Oracle was a late bloomer." - exabrial
Memory Management (GC vs. Manual/Rust)
A technical tangent emerged concerning memory management, specifically the debate between Garbage Collection (GC) and manual memory management (often associated with Rust's borrow checker).
- "If you care about performance at that level, you should not be using Java or any other language with a GC." - zerr
- "Thankfully not everyone agrees. https://www.ptc.com/en/products/developer-tools/perc We have already have had enough from anti-GC cargo cult from "manual memory management is great" folks. Having a GC (which RC is also an algorithm subset), doesn't preclude having other features." - pjmlp
- "There is also non manual, non GCed manual management." - OtomotO
- "I agree that a GC can be a viable implementation of memory management though." - OtomotO
- "There isn't such thing, if you mean Rust, affine types systems require tree structures and have issues with multiple scopes, hence the memes with borrow checker. Which I would refer as compiler assisted, although not really a proper term. There is a reason outside Rust, everyone else is string to combine GC alongside affine/linear/effects/dependent types instead of one solution for everything. The productivity of having a GC, with the type system capabilities to go lower level, when the profiler says so. Although I have to conceded, Rust made a great job bringing ATS and Cyclone ideas into mainstream. Additionally with AI powered languages, naturally most of this will be automated anyway." - pjmlp
- "Ref counting is also no GC by the definition of a GC I was brought up with. But yes, I was also thinking about the borrow checker. Not necessarily in Rust, as other languages start to adopt similar techniques." - OtomotO
- "There are ways to mitigate this, the fly weight pattern, etc." - mark_l_watson