I haven't yet read the dozens of other replies to your question, but I may
as well give the TEAM my immediate feedback before I go on.
At 11:30 AM 10/5/00 -0400, 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
>Now factoring out issues such as "teaching C++ for the first time" (which
>is more important in all of this than the language)
No, it isn't the "more important" factor. Even the poorest college teacher
has likely dealt with language issues and crummy compilers before. Most of
the students have not. C-class languages, in general, are just inherently
unintelligible to intelligent students. And C-class language compilers
offer little or no help, or even make things worse by giving confusing
feedback when they give any. I believe these two factors are the major
reasons C-class languages are such a poor choice as an intro. (They also
happen to be two major reasons such languages are a poor choice for almost
The irony is that if any competent person steps back and takes an honest,
objective look at these issues, it becomes apparent that C-class languages
are almost always a handicap, not an asset. Yet, note how many reasonably
intelligent people have failed to do that.
>..... well what are your
>thoughts on this.
Virtually the same thing happened, almost immediately, at Cal Poly when
they ("we") switched from Ada to C++. Only the faculty there were not
nearly so honest in admitting it. They hemmed and hawed about going to
Java, and hinted they would have made that choice instead of C++, had Java
been around longer at the time the switch was made. BUNK.
What was REALLY tragic in the Cal Poly case was that Dalbey and I, working
with a grant from DISA, had just demonstrated, with clear data to support
the claim, a way to get students to progress even faster using Ada (our
"programming-in-the-large" Lab approach) than we were able to do using Ada
in the "traditional" manner. So, not only did Cal Poly faculty NOT take
advantage of that valuable finding (sort of reneging on the department's
commitment to DISA), but they took a giant step backwards, r.e. students'
ability to learn and progress.
You might want to point out to your wife one of the most serious results of
the kind of switch they just made: There are a certain class of very
intelligent students who, subconsciously or otherwise, will see that
attempting to program in C++, especially at the intro level, is such a
ridiculous enterprise, they will switch to another major. Then there are
another class of students that, though they may be bright enough, really
aren't particularly strong, academically, who, for reasons I don't fully
understand, tend to LIKE the C-class language absurdity, and will be
ATTRACTED into the C.S. program. I.e., the general calibre of students in
the program will drop considerable, BECAUSE you are teaching C++ as an intro.
This is not just conjecture. This is harsh, painful reality that I lived
S. Ron Oliver, semi-retired professor of Computer Science and Computer
Tire of sucky software! ? Check out www.caressCorp.com and follow the
links to software sucks and The Oliver Academy.