I agree with the author's point about the need for Java (or any technology) to evolve and adapt, and occasionally break with the past. Look how far they're going with Perl6. In specific, Threads and AWT/Swing are especially in need of attention.
I've always wondered why java doesn't have an IntegerOverflowException or some means of informing you that your data has just overstepped the range of your data type.
Also, I think it would be nifty to inherit constructors from base classes by default. Why bother typing something like this:
class Whatever extends BaseWhatever
public Whatever( String param1, int param2 )
super( param1, param2 );