4 ms·
Can you elaborate? In what ways, is modern Java a more pleasant experience compared to Go?
by grepgeek 7y ago
Can you elaborate? In what ways, is modern Java a more pleasant experience compared to Go?
- jacques_chester 7y agoRicher 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.
- jcora 7y agoLook 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.
- jacques_chester 7y agoIf Graal had been mature at the time, I expect Kubernetes would still be written in Java.
- pjmlp 7y agoIf you mean due to AOT compilation to native code, there have been plenty of options since around 2000, their only "crime" is being commercial.
- jacques_chester 7y agoI'm aware, but I don't think any OSS project would have ever used them. Hence my mentioning Graal by name.
- pjmlp 7y agoAh ok.