3 ms·
The selling point of go is that it is easy to read and maintain because it is so opinionated. If you start adding features that only some programmers use, then
by andmarios 10y ago
The selling point of go is that it is easy to read and maintain because it is so opinionated.
If you start adding features that only some programmers use, then you lose the language's strongest point.
For Go choice is bad. Go is going so strong because any Go programmer can read any Go program and library after a couple days with the language. Can you say the same for any language that has generics?
- weberc2 10y agoI agree with this, but at the same time some solution for type safe generic data structures would be nice. I'm not sure if there is a best-of-both-worlds solution. :/
- coldtea 10y ago>The selling point of go is that it is easy to read and maintain because it is so opinionated. The selling point of Go for most people is rather: hey, a language with GC (easy to manage memory) AND nice parallel/concurrency story AND static builds AND faster than my dynamic language I use. I don't think "it lacks generics" comes into play much as any kind of benefit.
- majewsky 10y agoThat's a strawman: Grandparent said "easy to read and maintain" which is not "it lacks generics". The Go team has communicated that they would like to add generics if they could do it without breaking the language or introducing large inconsistencies. Re the selling point: You're underestimating the importance of a conceptually simple language. If you put a new developer on a project in any other language that he has never used before, he will need at least a week to get up to speed. With Go, I had colleagues sending me pull requests with real, useful feature additions to my Go programs within 1-2 days of them installing the compiler.
- coldtea 10y ago>You're underestimating the importance of a conceptually simple language. If you put a new developer on a project in any other language that he has never used before, he will need at least a week to get up to speed. With Go, I had colleagues sending me pull requests with real, useful feature additions to my Go programs within 1-2 days of them installing the compiler. Sure, but maybe you're overestimating the complexity of Generics (on the programmers, not the implementation of the compiler side)? What makes you think those same programmers could not grok them? They could grok CSP (channels etc), implicit interfaces, pointers, reflection, unsafe pointer work, and closures, but suddenly Generics are too much? Seems rather arbitrary -- especially since the language already has generic functions. It's also the matter of initial familiarity (productive in a few days) with eventual expressiveness and power (how much more productive in a few months and more)? Because your argument seems to me like saying Go is Nano: one can start editing immediately. Sure, but Vim/Emacs are worth the investment in learning them, even if one feels lost for a little while when starting with them.