From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,33e793a459e66944 X-Google-Attributes: gid103376,public From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) Subject: Re: Choosing C++ instead of Ada Date: 1996/10/31 Message-ID: <559i67$6lg$1@goanna.cs.rmit.edu.au> X-Deja-AN: 193494904 references: <55218t$l5r@mailsrv2.erno.de> organization: Comp Sci, RMIT, Melbourne, Australia nntp-posting-user: ok newsgroups: comp.lang.ada Date: 1996-10-31T00:00:00+00:00 List-Id: 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.