comp.lang.ada
 help / color / mirror / Atom feed
From: scottw@bmtech.demon.co.uk (Scott Wheeler)
Subject: Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
Date: 1995/04/20
Date: 1995-04-20T00:00:00+00:00	[thread overview]
Message-ID: <jybcmc@bmtech.demon.co.uk> (raw)
In-Reply-To: SPENCER.95Apr20102028@calvin.ERA.COM

In Article <SPENCER.95Apr20102028@calvin.ERA.COM> Spencer Allain 
writes:

>> I'm hoping that the only reason for the statement

>> >>   but we wouldn't even have considered employing him if he hadn't 
        learnt C under his own steam.

>> was because the job involved real-time systems where every 
millisecond counts or the company didn't want to invest a couple of 
weeks teaching a new person the syntax of a particular language.

No. As a matter of fact, we don't want him to program in C - at present 
our main language is C++, but I don't have a religious attachment to 
that (as a matter of fact, I used to use Modula as my main language 
before moving to C). Also in a computer science course I would prefer 
that people start with a "purer" language: my preference at the moment 
would be for Eiffel. My point (obscurely made) was that a CS course 
should not *only* deal with academic languages, particularly ones as 
far removed from everyday life as Miranda. If we take Eiffel as an 
example, it has certain specific lessons to teach regarding 
encapsulation, data hiding, re-use by templates. The main lesson, of 
course, is the very practical idea of programming by contract, in order 
to build reliable software. Fine. 

Now suppose someone takes a course which emphasises Eiffel heavily. 
Almost certainly the student gets a job involving programming, and 
almost certainly it won't be in Eiffel. To profit from the lessons 
learned, the ex-student has to apply the same lessons to the 
environment being used - C++ is quite likely these days, and it is 
sufficiently flexible to support most of the same ideas. In practice, 
what we get is likely to be very poor, because the course didn't cover 
adapting the techniques to the environments which will probably be 
encounted, and most students won't think this through in depth 
themselves. 

Now why don't we use Modula, or Oberon, or Eiffel, or whatever? It's 
not because C++ is the flavour of the month, or not directly. It's 
because the factories we work with want to use PCs, preferably running 
Windows (don't tell me you don't like it - *we* don't like programming 
it!). While all of those languages are supported on PCs, the compilers 
and environments (debuggers, GUI class libraries, browsers, integrated 
editors) are very weak compared to C++, the proprietary Borland 
implementation of Pascal, and "Visual BASIC". As I mentioned, I prefer 
Eiffel myself, but the compiler I have is simply not a viable 
development environment, and NICE hasn't standardised the vital class 
libraries yet so we would be locked in to one vendor. I would prefer it 
if the "teaching" languages could also be "working" languages, but as 
yet only Pascal has made that transition, albeit heavily extended.

An final point is that it is certainly possible to learn the syntax of 
most languages in a couple of weeks, as you mention. The trouble is 
that this is like teaching someone to drive by showing them the 
controls of a car: it's only a beginning, it doesn't show them how to 
drive safely or comfortably.

>> Personally, I've found that individuals who have a background in 
many languages (ie. different types of thinking) are generally "better"
programmers.  They may not be able to optimize a loop as well as a
hacker who really knows one language, but they often find a way to
remove the loop completely by using a different concept.

I absolutely agree. I think the only way we can argue over this is 
whether modern programmers should learn some assembler (which side do 
you want to argue?)

Scott (pass me that COBOL manual) Wheeler




  reply	other threads:[~1995-04-20  0:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3mq0jd$r10@kaiwan009.kaiwan.com>
     [not found] ` <3n10sv$i97@gopher.cs.uofs.edu>
1995-04-19  0:00   ` No top schools use Ada Fernando Mato Mira
1995-04-19  0:00 ` Kenneth Almquist
1995-04-18  0:00   ` cjames
1995-04-19  0:00     ` Kenneth Almquist
     [not found] ` <NEWTNews.27781.798049024.ir001168@cec-services-01>
     [not found]   ` <3mrg2c$onn@disunms.epfl.ch>
     [not found]     ` <tomkwongD76x5L.AED@netcom.com>
1995-04-19  0:00       ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Theodore Dennison
1995-04-19  0:00         ` Robert Dewar
1995-04-19  0:00         ` Theodore Dennison
1995-04-19  0:00           ` Scott Wheeler
1995-04-20  0:00             ` Robert Dewar
1995-04-21  0:00               ` Jeremiah S Patterson
1995-04-21  0:00           ` Scott Wheeler
1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was Geert Bosch
1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Robert Johnson
1995-04-20  0:00           ` Robert Dewar
1995-04-21  0:00         ` Des Kenny
1995-04-21  0:00           ` Robert Dewar
1995-04-20  0:00   ` What schools use Eiffel ? Igor Chudov
1995-04-20  0:00 ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Spencer Allain
1995-04-20  0:00   ` Scott Wheeler [this message]
1995-04-21  0:00   ` Neil Wilson
1995-04-21  0:00 ` What schools use Eiffel ? Madison Cloutier
     [not found] ` <D759Az.GHM@cs.fredonia.edu>
1995-04-19  0:00   ` No top schools use Ada Michael Sperber [Mr. Preprocessor]
1995-04-19  0:00   ` Ian S Nelson
1995-04-19  0:00     ` Robert Dewar
1995-04-20  0:00       ` First Language Debate etc Deepak Kumar
1995-04-20  0:00         ` Robert Dewar
1995-04-21  0:00           ` Deepak Kumar
1995-04-20  0:00       ` No top schools use Ada Brian Hanson
1995-04-20  0:00         ` Robert Dewar
1995-04-19  0:00     ` Robert Dewar
     [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
1995-04-18  0:00     ` Jay M Martin
1995-04-20  0:00     ` Norman H. Cohen
1995-04-20  0:00       ` cjames
1995-04-20  0:00     ` Vladimir Vukicevic
1995-04-22  0:00   ` Chris Morgan
replies disabled

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