
This is well written but I think over-all this is essentially an ad-hominem. I don’t mean any disrespect to the author in saying this but let me explain why I think that:
Saying that people are unhappy with and criticize Go because it challenges their identity is saying that the criticism they have isn’t really valid or important, they only don’t like it because of their personality or something.
The criticisms really are valid though:
- The lack of polymorphism/generics means you can’t make a hetrogeneous collection in a type safe way. They recently introduced some kind of text substitution system to account for this.
- The language lacks tail call elimination: This restrict blocks programmers from using certains kinds of procedural abstractions.
- The language has goto: This breaks the ability to look at code in terms of block structured units.
Go is overall pretty nice: safer than C, much higher level but still able to write the same sort of programs and has excellent concurrency features. So aren’t people right to be frustrated about these things? They make programming in the language worse and it’s disappointing to see something miss out on its potential.
score 3 · canonical
deleted by creator