I just read through Ken Arnold’s blog entry where he claims that Java generics may be harmful. His point was that generics are too hard to explain (he’s writing a book) and have some limitations so they should be considered harmful. What he seems to misunderstand is that generics are not designed for textbook examples, they’re designed for real-world complex use cases where they may prove to be invaluable. And, yes, software development is difficult and complex software development is even more difficult so just because something is hard to explain doesn’t make it harmful — it just makes it hard. I’ve been writing Java 5 software for the medical industry for almost a year now and I couldn’t live without generics.