- A decent type system, which makes it better than Python, JavaScript, R
- Runtime errors with good stack traces instead of UB for things like invalid casts or null dereference, which makes it better than C++
- Automatic memory management without complex borrowing rules, which makes it (arguably, for some situations) better than Rust
- The JVM targets many different platforms and Java programs often “just work”, which makes it better than Swift
- Decent abstraction, which makes it better than Go
- Large ecosystem, which makes it better than Dart or Nim or Zig
- C#? I’m not sure, C# is a lot like Java. IMO what Java has which is better than C# is Kotlin and better JetBrains support
Now Java isn’t perfect. In fact I prefer Kotlin (always), Rust (despite the increased difficulty), and Swift (if the platform allows) as general-purpose languages. But unlike those, Java is one of the ancient big languages everyone knows about, and compared to the others (JavaScript, Python, C++) it’s the best general-purpose language by far.
All because of politics.
Odd statement. Take away spring boot and Java would shrink more.
Isn’t that a but like saying “Take away all that enterprise stuff and Java would shrink more?”
but if thre's one thing that embodies complexity for the sake of complexity its java.
java is also pragmatic. you're less likely to lose hair using java than python.
but java sucks -- you've a lot of "come-from" statements that you can't easily grasp the code. maybe it's me just being a dumb mofo