C Community's Cavalier Attitude On Software Reliability
Bill Wolfe
wtwolfe at hubcap.clemson.edu
Mon Feb 26 08:03:44 AEST 1990
Following are some prime examples of why the C community is thought
of by many as having an unprofessional and irresponsible attitude
toward software reliability:
DAB(!1) There is a mysterious bug causing occasional core dumps...
...just send mail to the author.
FILE(1) It often makes mistakes.
JOBS(3J) There is no excuse for the "getwd" routine to be in the
jobs library. There is even less reason for this routine
not to have been documented by the author(s) at Berkeley.
PARSEDATE(3) The grammar is incomplete and always will be.
PUTC(3) Errors can occur long after the call to 'putc'.
SCANF(3S) The success of literal matches and suppressed
assignments is not directly determinable.
SIN(3M) The value of 'tan' for arguments greater than about 2**31
is garbage.
CTAGS(1) ...if you have two Pascal procedures in different blocks
with the same name, you lose.
EMACS(1) Not bloody likely.
TC(1) The aspect ratio option is unbelievable.
UNITS(1) Don't base your financial plans on the currency conversions.
BBEMACS(1) I tinker too much, so occasionally I mess up and it
don't work no good. But then I fix it, hooray.
When examples such as these are combined with the existence of so many
blatantly unsafe constructs within the C language, and the fact that C
software seems to erode public confidence in software reliability on a
regular basis (Nationwide Computer Network Infected By Worm; National
Telecommunications System Crashes), it would seem appropriate to ask:
When is the C community going to clean up its act???
It appears that there is a real need to publicize software engineering
concepts throughout the C community, both directly through software
engineering education and indirectly through a redesign of the C language
to provide greater support for the software engineering process. If
these steps are taken, it will hopefully be possible to avoid any further
destruction of the public's confidence in software reliability. If not,
government regulation of the field will probably soon become inevitable.
Bill Wolfe, wtwolfe at hubcap.clemson.edu
More information about the Comp.lang.c
mailing list