Today, after yet another wart, I told him: "I hate C++. I really do." And he said: "But it has so many interesting and amusing corners!" And I said: "So does Perl, which I like and you hate; we're both inconsistent." And that reminded me of that Larry/Bjarne post.
Java annoys me for more subtle reasons that I'll get into some other time, maybe. But the collection classes were an obvious wart: you have to do a runtime downcast whenever you pull something out of them. So, everyone says, the generics stuff will fix that. But I just read:
Generics are statically checked, but because of the way they are implemented there are ways to get around the wrong type of objects into your collections after all, so the runtime checks need to be generated as well.Yuck. But I guess it's only so the bytecode works on pre-generics JVMs?
Too much looking at Cyclone/OCaml (and C!), and too much fighting with Perl and Ruby, turns me into a static-typing snob. (More on this in sec.)