TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
"Wisniewski, Joseph (N-COMSYS)" <[log in to unmask]>
Thu, 5 Oct 2000 14:13:31 -0400
Tucker Taft <[log in to unmask]>
Tucker Taft <[log in to unmask]>
text/plain; charset=us-ascii
AverStar (formerly Intermetrics) Burlington, MA USA
text/plain (54 lines)
"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]
Technical Director, Commercial Division, AverStar (formerly Intermetrics)
(  Burlington, MA  USA