"Wisniewski, Joseph (N-COMSYS)" wrote:
> My wife teaches mostly C++ over at a major community college outside
> of DC. (No it isn't quite as bad as Carville/Matalin at home although
> this morning there was a discussion of "our individual opinions" wrt
> readability of C++ :--) )
> Anyway, apparently there has been a switch recently from Pascal to
> C++ for the intro class. The intro C++ is being taught without the object
> oriented aspects of the language, so I guess it really becomes a
> "C class using the non-object oriented constructs specific to C++ and
> not in C, and using a C++ compiler",
> from what I can tell. The professors there are very concerned because their
> students are performing much more poorly than they did with Pascal as an
> intro language.
> Now factoring out issues such as "teaching C++ for the first time" (which
> is more important in all of this than the language) ..... well what are your
> thoughts on this.
C or C++ are very tough languages for beginners, because
there are so many ways to be distracted by difficult-to-debug
problems, in the areas of:
arrays vs. pointers
"=" vs. "=="
order-dependent side-effects due to "++"
off-by-1 errors in loops due to 0..n-1 array indexing
signed vs. unsigned shifting
chars vs. ints (truncation, signedness, etc.)
Pascal avoids almost all of these (as does Ada of course).
C was designed by a very experienced programmer (Dennis Ritchie)
primarily for his own use in building an operating system and
its associated tools in a relatively machine-independent way.
Pascal was designed specifically for teaching.
It seems crazy to ignore the philosophy and roots of a language when
choosing one for teaching, but a concern about popularity in the industry
seems to have overwhelmed common sense at some schools.
-Tucker Taft [log in to unmask] http://www.averstar.com/~stt/
Technical Director, Commercial Division, AverStar (formerly Intermetrics)
(http://www.averstar.com/services/IT_consulting.html) Burlington, MA USA