Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site terak.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxb!mhuxn!mhuxm!mhuxj!houxm!whuxlm!akgua!sdcsvax!dcdwest!ittvax!decvax!genrad!panda!talcott!harvard!seismo!hao!noao!terak!doug
From: doug@terak.UUCP (Doug Pardee)
Newsgroups: net.works
Subject: Re: "look for bugs"
Message-ID: <340@terak.UUCP>
Date: Wed, 6-Feb-85 12:09:04 EST
Article-I.D.: terak.340
Posted: Wed Feb  6 12:09:04 1985
Date-Received: Sun, 10-Feb-85 04:44:00 EST
References: <524@topaz.ARPA>
Organization: Terak Corporation, Scottsdale, AZ, USA
Lines: 47

-----------
This commentary is rated "R".  It contains subject matter which is
considered heretical by anyone with less than 17 years experience,
and less experienced readers must be accompanied by a grizzled
old-timer.
-----------

> I agree with Charlie Levy's statement that most of the programmers time
> is spent in his step 3a looking for bugs.  This situation should alarm
> us as computer scientists.  Our current "programming environments", which
> today are barely more than good operating systems, are not doing the job.
> 
> Programming tools which automate design and bug detection are greatly needed.

I can give you a very good reason why programmers spend so much time
looking for bugs.  You're staring at it right now.  The interactive
terminal connected to a timesharing system.

Waaaay back in "the good old days", we used to get *ONE* crack at
running our programs each day.  (You will recall, perhaps, that an
IBM 360/40 was considered a mainframe, but it was slower than an
Apple ][).  Programs were punched on cards, and listed off-line on
equipment such as the IBM 407 accounting machine.

We produced more programs, bigger programs, and better programs,
under those conditions than programmers do under current conditions.
But it wasn't as much "fun" because we didn't get to play with the
computer very much.

We didn't spend much time debugging.  We spent our time preventing
bugs.  Not: "Oh I see the problem, I'll just change this a little
bit and try it again... Oh damn it still didn't work, *now* what's
wrong?"  Instead it was "Does this code still make sense?  What can
I think of that would cause it to freak out?  Can that happen?"

It wasn't unusual at all to find and fix ten or more bugs each day,
without a computer run.  And since there was plenty of time to
work on the program, the fixes were done right instead of kludging.
There was no inducement to produce half-baked programs (have you
looked at the "BUGS" section of the UNIX(tm) manual pages?  Why
hasn't somebody FIXED those after all these years?)

OK, enough history lesson.  The moral is that programmers will spend
a lot of time debugging if they don't take the time to prevent bugs.
And that means time reviewing the PROGRAM, away from the computer.
-- 
Doug Pardee -- Terak Corp. -- !{hao,ihnp4,decvax}!noao!terak!doug