🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #542

Re: Non-professional programmers (was: Which language to teach first?)

#542
From: Herman Rubin
Date: Tue, 22 Aug 1989 13:14
59 lines
3838 bytes
In article <13380@megaron.arizona.edu>, gudeman@arizona.edu (David Gudeman) writes:
> In article  <9015@june.cs.washington.edu> kolding@june.cs.washington.edu (Eric Koldinger) writes:
> >...
> >Why?  Just because someone doesn't want to be a CS major doesn't mean that
> >he/she doesn't want to learn to program, or have need to program.  What about,
> >for instance, engineering majors who often have to design large programs, but
> >aren't CS people, per se?

			......................
	[Several examples of bad algorithm design are given]
> 
> This has brought me to the conclusion that the era of non-professional
> programmers has past.  The programming discipline has advanced to the
> point where it really does take four (or more) years of in-depth study
> to become competitive in the field.  Would you expect an electrical
> engineer to design a car?  A mechanical engineer to design a microchip?
> If not, then don't expect either one to design software either.

I agree that bad algorithm design is a major problem.  But the current 
teaching of professional programmers, and even programming consultants,
is worse.  I do not see that the gurus do that well.  If the designers
of the languages were not that arrogant, and asked those who do understand
what they want to compute and how hardware affects it, we would not have
the atrocious languages of today.

I know of a professional programmer who told a former colleague of mine
that to compute the numerical value of an integral it was necessary to
use a numerical integration procedure.  Now in this case, the quick and
dirty formula I gave him was of comparable speed to using a highly
optimized method to compute ONE function value.

Recently, a language guru's comment on an algorithm to compute a specific
function, not writable in C or any other HLL to my ken, that I should 
profile the behavior and find the places most used instead of using a
program based on machine instructions.  There is one conditional branch
in the program, based on an "overflow" bit, which involves a quick
adjustment.  Every other instruction is executed a fixed number of times.
Profiling, indeed!

I keep hearing that computers are getting so fast, etc.  I keep telling my
students that they must do analysis before numerical analysis.  Yet the push
is to develop packages which an ignoramus can use, but which provides little
more for the skilled artist.

The so-called good programmers cited by David Gudeman really have not done
all that well.  In programming something well, it is necessary to take into
account what is being attempted.  A professional programmer may do a good
job at producing an editor, or possibly an assembler.  But a programming
language which is good for people doing mathematics, no.  This effectively
means that the mathematician must be the programmer.  The engineer who
programs is being an applied mathematician, not an engineer at programming
time.  As such, he knows what the program is supposed to do.  If he 
understands the machine, he will have a very good idea of how to do it
well.  But will the language let him wihtout working hard?

-- 
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907
Phone: (317)494-6054
hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)
Technical Details
Message-ID: <1523@l.cc.purdue.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!gatech!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik
References: <13380@megaron.arizona.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cwjcc!gatech!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik
From: cik@l.cc.purdue.edu (Herman Rubin)
Newsgroups: comp.lang.misc
Subject: Re: Non-professional programmers (was: Which language to teach first?)
Summary: Professional programmers do not always do so well
Message-ID: <1523@l.cc.purdue.edu>
Date: 22 Aug 89 13:14:23 GMT
References: <13380@megaron.arizona.edu>
Organization: Purdue University Statistics Department
Lines: 59