4 ms·
I really don't want to upvote this sentiment but I must anyway. The fact is, despite Oracle being a menace to the tech industry, Java under their watch is thri
by stickfigure 1y ago
I really don't want to upvote this sentiment but I must anyway.
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!
- didip 1y agoFor real. When Sun got bought, I thought to myself: “At least they would also destroy Java…”. But nooo, Java thrives and flourish under Oracle protection.
- api 1y agoJava gets more hate than it deserves. "There are languages everyone complains about and languages nobody uses." 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. On the plus side, of all the languages I've used Java is one of the absolute best when it comes to long term maintainability of code. This is why it's used so heavily in large enterprises with long-lived business critical code bases. Being the "COBOL of the 1990s/2000s" is not an insult, and as a language it is far superior to COBOL in every way. It's not a bad language to program in at all, while COBOL will make you hate your life. It's also a safe language unless you break out of the JVM with JNI. It's the first safe language to get huge deployment if you don't count scripting languages. Safe doesn't mean you can't have security bugs of course, it just means you're not likely to have certain kinds of security bugs and stability problems like memory errors. 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. The biggest current knock against Java I see is JNI, which unlike the core language is absolutely horrible. The second biggest knock is that the JVM is still kind of a memory pig. CPU performance is great, sometimes converging with C or Rust performance depending on work load, but it still hogs RAM.
- bheadmaster 1y agoIn my experience, the problem of Java is the lack of standardized tooling. To build an average Java software, you have to install a specific version of JDK, download a specific build system (Ant, Maven, Gradle, Bazel), hope everything works out on the first try - and if not, debug the most-likely-XML spec file searching for invalid dependency that's printed out on the 1000-line error output... What Java is desperately missing is something like Python's `uv`. --- Sibling comment mentioned that debugging Java itself is also a nightmare, which reminds me of the many Spring Boot projects I've had to debug. Stack traces containing 90% of boilerplate code layers, and annotations throwing me from one corner of the codebase to another like a ragdoll... Admittedly, that's not inherently the problem of Java, but rather the problem of Spring. However, Spring is very likely to be found in enterprise projects.
- vips7L 1y agoI think this is really just anecdotal to your experience. Don’t you need to install a specific version of a compiler or interpreter for every language? Isn’t trying to build any complex project a pray on the first try? I’ve worked in Go codebases where it’s not simply “go build”. It’s: try go build, oops you need to use the make/justfile, oops don’t forget you need to install jq or some other random tool. Complex projects are complex.
- bheadmaster 1y ago> Isn’t trying to build any complex project a pray on the first try? I managed to build Docker Daemon - one of the most widely used and complex Go projects - from source with a simple `go build`. I've never figured out how to build Jenkins from source. Do you know of any widely used Java project that has a simple build process? Maybe a positive anecdote could change my mind.
- ohdeargodno 1y ago[dead]
- 1y ago
- jayd16 1y agoThe idea that Oracle is evil and that's why they're striving to increase Java market share is the funniest thing I've read today. Thank you.
- exabrial 1y agoI feel like that tide is changing in general. 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. They’ve done an incredible amount of damage to their reputation.
- pjmlp 1y agoNot everyone cares that much about their reputation outside FOSS circles. Sun was aided by Oracle and IBM into the whole Java push during its early days. Many apparently aren't aware of their roles into the whole Java history. Oracle was the first RDMS with Java drivers, all GUI tooling rewriten into Java, JVM into the database, JSF famework, and acquisition of BEA and its JIT technology. Also collaboration with Sun in the Network Computer thin client with its Java based OS.