comp.lang.ada
 help / color / mirror / Atom feed
From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe)
Subject: Re: Choosing C++ instead of Ada
Date: 1996/10/31
Date: 1996-10-31T00:00:00+00:00	[thread overview]
Message-ID: <559i67$6lg$1@goanna.cs.rmit.edu.au> (raw)
In-Reply-To: 55218t$l5r@mailsrv2.erno.de


Thomas.Kendelbacher@erno.de (Thomas Kendelbacher) writes:

>One of their main reasons why they choose C++ over Eiffel, Ada etc. is:
>They intend to confront the students with the "'dark side' of programming"
>(verbatim!) to better prepare them for reality.

>Now, how do pedagogues comment on this?

"whether it is nobler in the mind to endure the slings and arrows
of outrageous fortune, or by opposition end them?"

It sounds as though they believe in forcing their students to endure
those slings and arrows (rather apt considering the frequency of ->
in C++; could the slings be "throw" statements?).

I belong to the school that says "it is better to like a single
candle than to bless the darkness".

>To give you a correct picture:  This is not the programming curriculum for
>university students of computer science, but for a so-called "Fachhochschule",
>which, in the German education system, is a special school/college which
>provides only a degree somewhat below a bachelors degree.

Sounds like our TAFE.

Computing is amazingly complex.  It's like playing the guitar; any fool
can twang the strings, but there aren't many Segovias who can make it
sound good.  (Terry Pratchett's "Soul Music" puts it much better...)
There is so *much* to learn.  Here I am, a lecturer, and this year I
have had to learn three new programming languages (Java, Tcl, NewtonScript)
and three architectures (MIPS IV, PowerPC, Alpha; I'm not counting learning
SPARC V9 because I already knew SPARC V8).  That's in addition to having
to learn HTML and struggling vainly for a week to try to understand OLE2.

Without conceit, I can honestly say that I know quite a lot about quite a
lot of computing topics.  I have the *knowledge* to teach most of the
courses we run.  But I lack one essential, which means that some of our
least experienced and less knowledgable staff members make much better
teachers than I am.  What's that essential?

	To answer the question that a *student* is asking,
	not the question I would have been asking if I had said that.

For example, two days ago a student who was revising for the forthcoming
1st year final exam asked me a question about Ada Text_IO.  I answered
him in great detail, with much reference to the LRM to make sure I had
my facts absolutely straight.  I fear that I may have left him more
confused than when he started (which was fairly confused, anyone who
thinks that 
	while End_Of_File(File_In_Input_Mode) loop
	    Put_Line(File_In_Input_Mode, Line(1 .. Length));
	end loop
will move to the end of a file and append the line once is pretty
confused to start with).

C++ is exactly like this.  There is a ton of stuff in C++, all of which
was put in to solve problems, but TAFE-level students don't even understand
the problems yet, so how are they to understand the answers?  (Especially
when some of the things in C++ are like the old woman who swallowed the
horse:  they are there to fix problems caused by other things that were
added to C++, like the fly the old woman started with.)

I will probably be roasted for saying this, but if you want to turn out
trained seals who have a genuine understanding of a marketable computing
skill, you would probably do best to teach them Visual Basic.

If

>They don't have
>very much time for programming courses in their curriculum; it's even tight
>for the basics of a single programming language.

then Visual Basic is probably about the right level to cover, and they
will be able to *accomplish* more than by using C++.

>But there is
>one sentence in it which deserves a second thought:  The students are said to be
>"highly motivated" because they jump at C++ after all the hype they've heard
>and read about it.  Given that they can learn just a single language at school,
>they assume that they will "need" C++ to get a job; maybe they are not even
>that wrong, the way things are.

There are a number of things to say.

One is that this only addresses the motivation students have when they
_start_.  It says nothing about whether students *stay* motivated when
they struggle with a dauntingly complex language whose mastery requires
a *thorough* understanding of many aspects of computing.  I would imagine
that Visual Basic, disgusting though it seems to *mean*, would better
*sustain* the students' motivation because they would get more rewards
than punishments with it, in contrast to C++.

The other is that half-trained programmers are a menace to civilisation,
certainly on a level with half-trained plumbers, and perhaps on a level
with half-trained doctors.  At the judgement, One will say to these
teachers "inasmuch as you taught C++ to the least of My brothers, you
did it to Me; away with you to eternal darkness."


-- 
Mixed Member Proportional---a *great* way to vote!
Richard A. O'Keefe; http://www.cs.rmit.edu.au/%7Eok; RMIT Comp.Sci.




  reply	other threads:[~1996-10-31  0:00 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-10-09  0:00 What is Ada used for??? Sean Roehnelt
1996-10-09  0:00 ` Aron Felix Gurski
1996-10-09  0:00   ` Robert Dewar
1996-10-10  0:00 ` Robert S. White
1996-10-10  0:00   ` Larry Kilgallen
1996-10-10  0:00 ` Jason Smith
1996-10-10  0:00   ` Robert S. White
1996-10-20  0:00   ` Choosing C++ instead of Ada (was What is Ada used for?) Richard Riehle
1996-10-21  0:00     ` Larry Kilgallen
1996-10-21  0:00     ` Robert Dewar
1996-10-22  0:00       ` whiting_ms@corning.com (Matt Whiting)
1996-10-22  0:00     ` Choosing C++ instead of Ada Stanley R. Allen
1996-10-24  0:00       ` William Clodius
1996-10-25  0:00         ` Andrew Dunstan
1996-10-25  0:00           ` John DiCamillo
1996-10-25  0:00         ` Poutanen Olavi
1996-10-25  0:00           ` jim hopper
1996-10-25  0:00         ` Larry Kilgallen
1996-10-26  0:00       ` Ken Garlington
1996-10-27  0:00         ` Matthew Heaney
1996-10-28  0:00           ` Thomas Kendelbacher
1996-10-31  0:00             ` Richard A. O'Keefe [this message]
1996-11-04  0:00             ` Robert Dewar
1996-10-28  0:00           ` David Emery
1996-10-28  0:00             ` Rush Kester
1996-10-30  0:00               ` Ed Falis
1996-10-30  0:00           ` David Emery
1996-10-28  0:00         ` Poutanen Olavi
1996-10-25  0:00     ` Choosing C++ instead of Ada (was What is Ada used for?) Kazimir Majorinc
1996-10-21  0:00   ` Robert B. Love 
1996-10-24  0:00     ` Richard Riehle
     [not found] ` <AE817A13-1E0BE@206.107.67.30>
1996-10-09  0:00   ` What is Ada used for??? Michael Feldman
1996-10-21  0:00     ` Jin Xue Kuang
1996-10-15  0:00   ` Richard A. O'Keefe
1996-10-25  0:00 ` Choosing C++ instead of Ada (was What is Ada used for?) Robert I. Eachus
1996-10-26  0:00 ` Choosing C++ instead of Ada Robert I. Eachus
1996-10-29  0:00 ` Jon S Anthony
1996-10-30  0:00 ` Arlene S. Felton
1996-11-04  0:00   ` nasser
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox