It’s weird seeing all this post-hoc rationalising when there is a perfect explanation for why go doesn’t have generics:<p>Rob Pike didn’t bother to look into any of the research into type theory and programming language technology. Hence his understanding of types were restricted to Java and C++ and similar (whose type systems are an abomination), and he could not separate subclass polymorhism with inhertance from parametric polymorhism.<p><pre><code> But more important, what it says is that types are the way to lift that burden. Types. Not polymorphic functions or language primitives or helpers of other kinds, but types.
That's the detail that sticks with me.
Programmers who come to Go from C++ and Java miss the idea of programming with types, particularly inheritance and subclassing and all that. Perhaps I'm a philistine about types but I've never found that model particularly expressive.
My late friend Alain Fournier once told me that he considered the lowest form of academic work to be taxonomy. And you know what? Type hierarchies are just that.
</code></pre>
<a href="https://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html" rel="nofollow">https://commandcenter.blogspot.com/2012/06/less-is-exponenti...</a><p>I mean he’s openly contemptous of the academics who do research in his field, while wildly mistepresenting their work. But people eat that shit up, because ”OMG it’s Rob Pike” instead of actually discussing the underlying issues.<p>Yes Rob, you are a philistine when it comes to types.. (or at least were)