4 ms·
There's definitely alot of 'enterprisey' java code out there but that has more to do with the way people code than the language is now. Functional programming(.
by wpdev_63 8y ago
There's definitely alot of 'enterprisey' java code out there but that has more to do with the way people code than the language is now. Functional programming(.sort, .map etc) introduced in Java 8 allows more concise code and less boilerplate.
Even with Rust, Go, and .Net core out there it's really hard to beat Java's battletested libraries/frameworks and excellent tooling. Java is still very relevent today and will probably still be for a very long time.
- ilovecaching 8y agoBattle 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.