I don't think those were his main arguments. His strongest argument is much more about out sourcing and that students need to be able to do the hard jobs. We should also remember that the prof. didn't write the article himself so this is some journalist paraphrasing his words.
I think the bottom line is that Students who's university career consists of only programming in Java miss out on a lot of the low level technical details about how a computer works. A good CS program will teach concepts instead of tools and languages. That would be called a "technology" degree. There is a place for Java but to teach it exclusively at the expense of C, C++, Assembly, etc... is foolish and leads to exactly what this article says it does people who don't really know what they are doing and are easily replaceable by cheap overseas labor.
"[...] students need to be able to do the hard jobs".
Difficulty comes in all shapes and sizes. Your next point is better: "[...] teach concepts instead of tools and languages".
That approach to education sees any language and/or run-time environment as an opportunity to work with an underlying concept.
A study of any language or run-time to the exclusion of an underlying concept is short-sighted. Any student with a language-centric approach to learning faces many difficulties in their professional life. We must all be able to adapt to changes in our field. We must be able to separate fad from fundamentally different.
I think the bottom line is that Students who's university career consists of only programming in Java miss out on a lot of the low level technical details about how a computer works. A good CS program will teach concepts instead of tools and languages. That would be called a "technology" degree. There is a place for Java but to teach it exclusively at the expense of C, C++, Assembly, etc... is foolish and leads to exactly what this article says it does people who don't really know what they are doing and are easily replaceable by cheap overseas labor.