[net.cse] Programming

ed@mtxinu.UUCP (Ed Gould) (03/14/86)

In article <212@ttidcc.UUCP> hollombe@ttidcc.UUCP (The Polymath) writes:
> [comments about firing a programmer who was about to get a CS degree]
>
>Example:
>He was assigned to write a Pascal routine that would clear a  VT100  screen
>and  draw  a numbered grid in the upper right corner.  Simple enough.  When
>he was finished, his code went on for 2 1/2  pages  of  hard  coded  escape
>sequences.  I  politely suggested that he write a move cursor routine, just
>in case we had to switch terminals.  He grudgingly agreed and the resulting
>code covered another page and a half.  All this took about 2 days.
>
>At that point, I decided to write the routines myself, just to see  if  all
>that  fuss was necessary.  The move cursor routine took six lines, three of
>which were error handling he hadn't bothered with  (two  of  the  remaining
>three were Pascal overhead).  The draw grid routine took another half dozen
>lines -- one for loop.  Combined, they took well under an  hour  to  design
>and code.
>
> [comment about the disservice that graders are doing to the profession
>  by giving this guy A's]

I see two different issues here.  The first is programmer productivity.
A number that I first found exageratted, but that I now believe, is that
the difference in productivity between a novice programmer and an
experienced one is a factor of 60.  You're describing something like
a factor of 16.

The other issue is the problem of teaching programming.  This has long
been a pet peeve of mine; especially having viewed, and to some extent
experienced, the introductory programming courses at UC (that's the
University of California.  It's campus is in Berkeley; those other
campuses are all latecomers.  Yes, I know I'm a snob).  To a large
extent, they teach language syntax and semantics, not problem solving.

The programmer described above managed to write down a solution that
worked, in the appropriate language.  He didn't solve the problem, however,
especially not the "portability" part.

So he can write programs but not solve problems.  There used to be a job
that did that function, but it has lost favor.  It was called "coding."

-- 
Ed Gould                    mt Xinu, 2910 Seventh St., Berkeley, CA  94710  USA
{ucbvax,decvax}!mtxinu!ed   +1 415 644 0146

"A man of quality is not threatened by a woman of equality."