4 ms·
Battle tested and tooling really aren't compelling arguments anymore, Java is very middle of the pack in both regards. Go is running as the basis of the next ge
by ilovecaching 8y ago
Battle tested and tooling really aren't compelling arguments anymore, Java is very middle of the pack in both regards. Go is running as the basis of the next generation infrastructure in Kubernetes, Prometheus, Docker, Terraform... Elixir has revived Erlang, which now has great tooling in mix and is well known for being highly reliable. Go, Javascript, and Rust all have real package managers (even Go with mod) that are bundled with the language and come with auto formatters, vetting tools, etc.
Also, funcitonal programming is a style of programming, not a collection of features. Just because you have a map and sort method and a hacked in lambda syntax doesn't make Java anything less than OO. Multi-Paradigm usually means one paradigm with a bunch of extra crap in there to make bike shedding easier.
- saagarjha 8y ago> Just because you have a map and sort method and a hacked in lambda syntax doesn't make Java anything less than OO. Maybe not fully functional programming, but something that's quite pleasant to work with to be sure.
- wpdev_63 8y agoIf you're really that much of a language snob then you should checkout kotlin. It has seamless integration with Java and has the _best_ ergonomics I've encountered language wise. Go can't even get it's packaging story straight and once again doesn't have generics which makes 'functional' programming a no Go;)
- ilovecaching 8y agoGenerics have nothing to do with functional programming. I actually really like Clojure (really I just love Lisp). Go also has modules now.
- int_19h 8y agoPervasive use of HOFs is kinda difficult without generics or some equivalent.
- jacques_chester 8y ago> Go is running as the basis of the next generation infrastructure in Kubernetes And it requires acres and acres of generated code, a custom runtime dynamic type system, whacky module names for compatibility instead of a reliable build system like maven, to make the thing work at all. Kubernets is a multi-megaSLOC advertisement for the virtues of Java as an ergonomic experience. If it had remained in Java it could be incrementally ported to Kotlin. God, what I wouldn't give for that.