|
|
|
|
|
by nauticacom
1643 days ago
|
|
To me, "takes up a significant part of the language spec, compiler, and VM" isn't a meaningful reason to exclude something from a language, unless it's a hobby project. The job of languages, imo, is to provide tools/features/syntax for expressing problems, whether their implementation is complex or not. Ruby is an incredible language to use, but its implementation is notoriously hairy. That internal complexity is not something that matters to me in the slightest. I understand the Go team's reluctance to get the user-facing interface wrong, and end up with something like type-erasure in Java; that's slightly connected with implementation complexity, but saying "it's complex to implement and specify" doesn't seem enough to me. [edit: made it clearer that this is my thought on the job of languages and not some universal truth] |
|
A generics implementation can't sacrifice the simplicity of the language, or make it any harder to read go code.