On the occasion of Gosling joining Google, it's Java diss time again. But most Java criticism doesn't take its raison d'être into account:
We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy? — Guy Steele
Java has many faults. But most of them are there by design. That's not something many language designers can claim.
Java was a Trojan Horse, designed to slip in a modicum of dynamic features without C++'ers getting suspicious.
That whole dynamic-language-in-the-mainstream thing may have never happened without Java.
Aren't you happy?