Hacker News new | ask | show | jobs
by grepgeek 2583 days ago
Can you elaborate? In what ways, is modern Java a more pleasant experience compared to Go?
2 comments

Look at what happened to Kubernetes. They rewrote original Java code in Go and it's a mess because of Go's limited abstraction capabilities. Sure there's an element of rewriting in a new language and attempts to force idioms, but there's also the fact that Go literally hacks in special cases for generics, unavailable to users. They recognize the need for generics, but haven't implemented them, which is a problem for a complex project where abstraction might be useful.
If Graal had been mature at the time, I expect Kubernetes would still be written in Java.
If you mean due to AOT compilation to native code, there have been plenty of options since around 2000, their only "crime" is being commercial.
I'm aware, but I don't think any OSS project would have ever used them. Hence my mentioning Graal by name.
Ah ok.
Richer type system, richer concurrency, richer tooling, greatly advanced and advancing runtime, interoperability with multiple languages on the JVM, a naming system that doesn't cause frustrating workarounds a la the Kubernetes ObjectMeta / TypeMeta / "v1alpha1", "v1beta2", "v1" nonsense ...

Go is the language that taught me to really appreciate writing things in Java.