Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Adding generics isn't even backwards-incompatible. AFAIK Java 1.5 was just fine with Java 1.4 code, and so was C# 2.0. The latter using reified generics (and not cheating with builtins) lead to the duplication of System.Collections but given builtins aside as of Go 1.9 it has under half a dozen non-generic collections (versus 25 types in System.Collections, though some of them didn't even make sense as generics and don't have a System.Collections.Generic version) that's unlikely to be an issue.


> so was C# 2.0.

True, but C# also has nominal types, overloading, and explicit interface implementation. Adding generics without breaking existing code without those features looks very difficult to me.


They don't have to be Java-ish generics.

Think SML/OCaml/Ada/Modula-3 (modules parameterized by modules) or Haskell (typeclasses).


Actually that would be the easier way. It is also how CLU had them.


What makes it difficult?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: