The first program I ever wrote is one of, I believe, only
two, that was bug-free the first time.  Wrote it in IBM
650 absolute code, generated a table of incomplete
gamma functions I needed, and thought programming
would be a breeze.  Wrong!  Was about ten years before
another program, a few dozen lines in FORTRAN, was
bug-free the first compile and execute.

I think the more important standard is how easy it is
to find and fix bugs before going into production and how
easy it is to run down the source of those that show up
only later when some user supplies data the tester didn't
think of trying.  Even just keeping track of what is the
latest version of a large program when several people
are modifying different parts can be a challenge.

I'm afraid parts of Windows are still at the stage most of
us old card thumpers went through after a decade or so
on the job -- large, complex, incompletely documented,
no detailed functional specification.

Was given a deck to "fix" that was over a decade old.
It was a FORTRAN source for a subroutine, about four
pages long.  There was one comment at the beginning,
one at the end.  Never saw so many arithmetic IFs
before or since.  The commercial flowcharting program
struggled for a minute or two, then went belly up.
Spent a week or two trying to diagram the flow, and
gave up.

Wrote my own version in just over a page, fully commented,
using logical IFs, etc.   Designed my routine to fall through
to the old one on error, setting a flag in the output.  When
I supplied test data bad enough for my version to fail, so
did the older one, but the new version worked for several
real life data sets that didn't work with the original subroutine.

I'm sure any operating system likely to be useful will have
similar formally indeterminate blocks of code, but the big
difference, IMHOP, is that Linux users respond quickly to
error reports, confirming them if reproduced, and find a
fix and posting it in a few days.

Way back in the bad old days, The Art of Computer
Programming, I don't recall which volume, had a chapter
on garbage collection.  Garbage collection is an essential
part of memory management, retrieving memory allocated
to a process that isn't freed by the process before it terminates,
or retrieving excess memory allocated to, but no longer needed
by, a running process.

One reason why Windows crashes far more often than Linux
is the quality of the garbage collection.  The other, I believe,
is access control.  Well designed operating systems don't
let one process mess up the data or code of another.

Choppy

At 01:03 PM 1/30/03 -0600, you wrote:

>I wrote a program once that didn't have any bugs ...
>
>LABEL:  NOP
>                 JMP     LABEL
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Behalf
> > Of Larry Braud
> > Sent: Wednesday, January 29, 2003 8:14 PM
> > To: CCCCLinuxSIG; Brlug Newbies; BRLUG Linux
> > Subject: [brlug-general] Langa Letter: Linux Has Bugs: Get Over It
> >
> >
> > http://www.informationweek.com/story/IWK20030124S0013/1
> >
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://oxygen.nocdirect.com/mailman/listinfo/general_brlug.net
> >
>
>
>_______________________________________________
>General mailing list
>[email protected]
>http://oxygen.nocdirect.com/mailman/listinfo/general_brlug.net


Reply via email to