"A sure sign of my descent into senility is bitchin' and moanin' about "kids these days," and how they won't or can't do anything hard any more."

So goes the intro to Joel’s “The Perils of JavaSchools”.

Higly relevant and highly recommended, as usual! ;)

"Pointers and recursion require a certain ability to reason, to think in abstractions, and, most importantly, to view a problem at several levels of abstraction simultaneously. And thus, the ability to understand pointers and recursion is directly correlated with the ability to be a great programmer.


You need training to think of things at multiple levels of abstraction simultaneously, and that kind of thinking is exactly what you need to design great software architecture."

Among other things, Joel talks about how Universities made the mistake of replacing courses on C pointers and recursion with courses on simple Java… and those universities include UPenn… my second most enjoyable experience in the 90ies (the most enjoyable one being the bubble of course! ;D)

Also, Joel talks about how it gets difficult to distinguish the top programmers from the average because you can’t ask them about pointers & recursion right out of school any longer… I’ve got the same issue with database programmers. You can’t ask them about concurrent transactions and normalizing databases any longer… Ironically, I learnt most of that at UPenn… back then in the 90ies… :»

Comments from long ago:

Comment from: Alexandre Lemieux

I totally agree (here’s my comments on the same article from Joel.)

How come database nomalization is no longer teached? That makes no sense at all.

2006-01-26 18-04

Comment from: Alexandre Lemieux

The link got removed from my previous comment. Here is the URL: http://www.fortrel.net/blog/index.php?title=java_schools&more=1&c=1&tb=1&pb=1

2006-01-26 18-14

Comment from: Gilles Bonnet

Agree AND disagree The word programming is too vague : Assembler and C is one technology but C++ and java is another one. The pity is to confuse both. At system and architecture level, I don’t care and think about blocks which have their own behavior and knowledge… may be closer to java Then when the coding time is close, one has to choose…. IMHO, pointers and structures are not THE way to do except for high performances or PICs or firmware…

I believe that the real problem comes from very bad teaching on OO programming (does anyone heard about a good OO expert ?) OO is a myth. And I feel happy using java without OO Gilles

2006-02-04 12-27

Comment from: Nick

OO is a myth!

I don’t think so, I’ve seen two real experts in my life!

2006-02-13 15-47