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
