Errors aren't that simple
Scott MacHaffie
machaffi at fred.cs.washington.edu
Fri Mar 2 13:28:55 AEST 1990
In article <8192 at hubcap.clemson.edu% billwolf%hazel.cs.clemson.edu at hubcap.clemson.edu writes:
% The unsafe constructs within C are themselves sufficient evidence to
% conclude that the C community, by choosing to use a language which has
% many highly unsafe constructs and an almost total disregard for error
% prevention, does not hold error prevention in sufficiently high regard;
paraphrase:
I can't write code worth a damn, so no one else can either.
% the failure of a password security system because no boundary checks
% were done on the length of the password (whereupon the intruder purposely
% supplied a double-length password and thereby ensured that the left and
% right sections of the password-validating data structure were compatible),
% and similar cases demonstrate that the C language poses a serious obstacle
% to the development of defect-minimal software. For the cost of simply
paraphrase:
Someone else fucked up (or I made it up, one of the two) so I can use
that as an argument.
% the recent national AT&T crash, I'd be willing to conjecture that all of
% AT&T's software developers could have been trained in software engineering
% concepts and the Ada language, and supplied with Ada compilers as well.
paraphrase:
ADA is perfect. No one has ever written a piece of ADA code with bugs in it.
If AT&T had used ADA their code would have worked without being tested.
% The comments found in the Unix man pages I cited have been there for
% at least a decade, apparently going unchallenged by the rest of the
% C community. This is despite the fact that the growth of C has been
paraphrase:
Unix had bugs TEN WHOLE YEARS ago!
% widely attributed to the Unix operating system being given away to
% so many universities -- if this attribution is correct, then Unix is
% also responsible for helping to create the widespread attitude within
% the C community that defects are to be treated casually.
paraphrase:
Hey, now I can try to flame Unix, too! Maybe I should cross-post to comp.unix
-- I'm sure they would appreciate knowing that they can't do any software
engineering with their systems.
% It is entirely true that other language communities (BASIC, COBOL, etc.)
% have problems along these lines which are arguably worse than those which
% are clearly associated with the C community. On the other hand, there are
paraphrase:
What the fuck, I can try to flame EVERYONE. After all, I am perfect.
% other language communities which are doing a considerably better job of
% spreading software engineering concepts and providing linguistic support
% for their application (Ada, Eiffel, etc.). The challenge for the C
paraphrase:
If I say it enough, maybe someone will believe me.
% community is to join the language communities which are doing a good
% job in these respects, as opposed to holding its existing reputation
% as a community which contains an extremely high percentage of those who
% regard themselves as hackers, and whose products repeatedly make national
% headlines with their spectacular failures. Since C is a language which
paraphrase:
Look, I have made-up statistics to prove my point! And I can also ignore
counter-examples!
% provides little or no support for defect prevention, one would expect
% that the C community would naturally compensate by being extremely
% careful about always applying the very best software engineering
% practices. Unfortunately, I don't think even the most dedicated
% C-backers would attempt to claim that this is presently the case.
paraphrase:
I'm not a C programmer, but I can damn well speak for all of them.
More information about the Comp.lang.c
mailing list