Re: Maybe that is what comes of...
Never read that, interesting article.
I think its less that Java is easier than languages like C, or does not force you to work on your abstractions and design like Scheme and Lisp, its more that Java offers a number of supposedly pre-rolled solutions that have *huge* *fcking* *holes* in them.
Java makes easy stuff hard - all that syntax fluff! And makes hard things less obvious until you go lve and discover its does not work.
I studied software eng at Uni. There was a balance of theory and practical to it.
Like earlier posters have said, there's a world of different between doing 10-15h of tutorial/week at Uni and working where where your shovelling crap 40h/week in a business environment where there a large number of plates spinning.
For me, the most formative experience of my early Uni life was a summer internship at IBM in the late 80s. It was set as as a sort of introduction to IBM and the many levels. I managed to get a loan of a PS/2 on a 386 and a C compiler and assembler. I gave myself a rapid introduction to the PC hardware architecture, C and 32 bit assembler (Id already done a lot of 8 bit assembler) - my first MMU page fault handler!
Never took up the offer from IBM - Im glad I didnt! But, bar the different OSes and the like, my life and work has stayed pretty much the same since those days.
Again, as the Joel bloke says in the article - handling pointers, which actually means being able to debug code which use pointers - is a a good filter. Not sure what the filter to use for someone who's been taught Java - realising they need to do the implementation in Erlang/OTP instead?