Nathan seems to think that Java is the Duplo of Programming Languages. He is beyond Java, of course:
After learning Ruby, various functional languages, and even C, I’d rather program in any of those than Java.
...But he thinks Java makes a great first language:
The thing that makes Java such a good first language is that the particular abstractions it provides are the ones that underlie the higher-level abstractions that are provided by higher-level languages... The most basic abstractions Java uses – variables and static methods - are a good basis because they correspond roughly to intuitions developed from algebra and other areas of human experience.
Apparently people who learn Java first think that static methods are a more basic abstraction than, well, functions.
Java as a first language is a bad idea. It misses what makes Java great, and why Java will still be great in five years.