Virtuous Language Design

Eric.weblog() reminded me of an excellent interview with Anders Hejlsberg on generics in C#, Java, and C++. Anders is the kind of person you want in charge of designing a language. In the interview he demonstrates a deep knowledge of the how competing languages implement generics, and the implications of those design decisions. While he is obviously biased towards his own choices, his biases are clearly based in a solid understanding of the alternatives. Matz, the creator of the Ruby language, has a similar grounding; in his communications on the Ruby mailing list he demonstrates an almost encyclopedic knowledge of other programming languages past and present. This contrasts starkly with the attitude I have occasionally seen from certain other language camps (“I don’t know how the other guys do it, but it can’t be better than our way…”).

Eric‘s entire series on moving from C# to Java is worth reading, BTW.