3 ms·
Thanks for posting that link. It lead to a lot of interesting background material! I think this quote in particular resonates: > those ideas simply haven’t
by bborud 3y ago
Thanks for posting that link. It lead to a lot of interesting background material! I think this quote in particular resonates:
> those ideas simply haven’t had time to pass through the filter of
> practical experience
- bunderbunder 3y agoI remain somewhat unconvinced on that front. There were good implementations from outside the functional programming sphere (which seems to be what people from the Go space tend to mean when they say "academic") already existing at the time. I think the real problem is that the most well-known examples, C++ STL and Java 5 generics, were trying to stick generics into an existing language with a "some things are objects and some things are not objects" type system. My take on the story there is that generics called attention to some deep deficiencies in that kind of type system, and people responded by shooting the messenger. Languages like C# (which I've used extensively) and Eiffel (haven't used in anger), on the other hand, have a consistent type system, and didn't seem to have the same problems with generics that Java and C++ did. Or for a non-object-oriented model that has some other features that might be attractive to Go, such as not allowing implicit specialization, there's Ada.