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
next prev parent 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