Do you think this is something beyond just more, less-skilled, Java-only-trained students entering the workforce? My experience as a TA suggests that most CS majors only (barely!) understand languages very much like Java, are driven by an understandable-but-desperate desire for financial security, and program by trial-and-error.

Which really gets down to saying that CS majors know little, if any, CS and are really novice programmers when they get their degree. Which means that the degree granting institutions are no longer places of higher learning, but are extensions of the vocational job training market. And, sadly, not always a very good extension of it. I have seen many CS majors who should have gone to vocational institutions or to a merlyn course, they would have learned more.

A don't call myself a programmer, I am a scientist or engineer who programmes. I am sure as heck not a 'computer scientist'! But maybe a scientist who knows more about computers than many around him.

Debugging is an essential part of writing programmes. But we didn't have a de-bugger in the days when we submitted Fortran-77 on decks of cards - so you did it by sitting down and pretending to be a compiler in your own head. Fortunately when I was introduced to assembly we had small monitors and debuggers that allowed for single stepping and a few other basic things.

The Perl debugger is pretty scarey, but on a few ocassions it has helped me find and obscure stupidity in my code, but for the most part I find myself doing much as merlyn suggested in this thread, write little and test often. It is very esy to make pseudo-code in Perl and that sure helps structure the entire process.

Yeah, I don't use the Perl debugger much myself, almost always finding a mixture of reasoning, "-w", and print statements more efficient. Better still, once you're proficient at this kind of debugging, you can apply it to any language that has "print" (i.e. almost everything but Haskell ;), no matter how poor its tool support.

I have seen many CS majors who should have gone to vocational institutions or to a merlyn course, they would have learned more.

I'm partly responsible for producing some of those, it shames me to admit... Sadly, as long as CS (programming, really...) is seen as lucrative, and a CS degree as one of its prerequisites, this is the way things will be. For whatever reason, vocational education is socially stigmatized here in the states.