"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 > maybe > is more important in all of this than the language) ..... well what are your > all > 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. "==" missing break 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. > > Joe -- -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