|
|
|
|
|
by eru
1167 days ago
|
|
My speculation: the authors didn't know / understand algebraic data types. Also, to make algebraic data types useful, you really want parametric polymorphism. But yet again, the others of Go weren't familiar with this. The only vaguely related technique they knew about were C++ templates, and they (reasonably!) decided that they didn't want C++ template hell in their language. That last part about templates is the least speculative of the bunch: I read some of the discussion they had about generics, and they explicitly mentioned templates (and how complicated they are) and pretty much mentioned nothing else for how to design or implement generics. Go recently got some generics, partially thanks to some help from Phil Wadler who's otherwise more known for his work in functional programming. |
|