3 ms·
Author here. Yeah, the Go language feels very archaic when using more modern languages. Some things I miss when I use Go: immutability as a default, monadic e
by jlward4th 6y ago
Author here. Yeah, the Go language feels very archaic when using more modern languages. Some things I miss when I use Go: immutability as a default, monadic error handling, type classes, higher-kinded types, high-level collection operations (map, flatmap, filter, etc), ADTs, extensive pattern matching, expression-orientedness, and explicit null handling.
- holografix 6y agoGuess that’s why kubernetes and so many other CNCF projects were written in Go. It’s archaic enough that everyone can get things done instead of worrying about esoteric new features.
- pjmlp 6y agoKubernetes was prototyped in Java and rewritten in Go due to Go bias of some team members, which forced a rewrite into Go. Source: A couple of talks at FOSDEM. Don't attribute to technology the outcome of political decisions. I also used to get things done in TASM.
- holografix 6y agoHave you stopped to consider why those team members had a bias towards Go? Maybe it’s for a reason. Maybe the people behind Istio, InfluxDB, Docker, Traefik, Terraform, etc also chose the “archaic” Go for “political reasons”.
- phillipcarter 6y agoSome of the world's most incredible software is written in C and JavaScript and both are languages with incredible deficiencies from a language design standpoint. This doesn't take away from the software that was written in them.
- dfacastro 6y agoYou're assuming that tech is a meritocracy (it very much is not). You're implying that if a tool is archaic, things cannot be done with it (also not true). You're also explicitly saying that the features James mentioned are esoteric, which is easily disproven by the fact that many mainstream languages have them nowadays.