3 ms·
I'd like to remove generics and iterators funcs from Go, and stop adding programming language shit to Go. https://itnext.io/go-evolves-in-the-wrong-direction-7d
by valyala 2y ago
I'd like to remove generics and iterators funcs from Go, and stop adding programming language shit to Go. https://itnext.io/go-evolves-in-the-wrong-direction-7dfda8a1a620 https://itnext.io/go-evolves-in-the-wrong-direction-7dfda8a1...
- WesolyKubeczek 2y agoYou are free to not use them.
- valyala 2y agoI cannot, since others will use them. So eventually I need to deal with the over-engineered overcomplicated shitty code, which uses these "features".
- dawkins 2y agoI agree. The limited expressiveness in Go also worked as an advantage because of its simplicity. Additionally, as the article mentions, the lack of lambdas made the syntax less convenient. For me, it struck a good balance before generics and other features were added.
- DandyDev 2y agoI’m not convinced that limiting expressiveness (for example by not supporting generics) will make software easier to read and maintain. For smaller programs that might very well be true, but for me personally, having more expressiveness makes it easier to navigate bigger code bases because you don’t have to trudge through code duplication, unnecessary boilerplate etc.
- valyala 2y agoGenerics in Go have been appeared in 2022 (in Go1.18). There were many popular open source projects with big code bases written in Go before 2022 - Docker, Kubernetes, Prometheus, Caddy, InfluxDB, etcd, minio, Terraform, CockroachDB, Consul, Helm, VictoriaMetrics, etc. The absence of generics didn't prevent from writing and maintaining these projects. I'm unaware of popular projects in Go, which have been appeared after 2022 thanks to generics.