After I published
part 0 I was criticized for being biased. I was told that the title suggested neutrality but the actual article is not neutral and "Why C# Is Better than Java" would have been a better title. In fact "Java vs. C#" was just a working title that I forgot to change and I agree that the suggested title would have been better. I was criticized for exaggerating the damage caused by the Java approach and overstating the benefits of the C# approach. While this may be true it should be clear that these are real problems and I am not making them up. I do not pretend to have discovered them. In fact I have read about most of the issues listed here in interviews and articles by both Java and C# designers. The reader is also advised to read part 0 where my motivation is clearly described.
And now lets get into today's topic - generics...