C Community's Cavalier Attitude On Software Reliability

Barry.True btrue at emdeng.Dayton.NCR.COM
Tue Feb 27 02:26:06 AEST 1990


In article <8147 at hubcap.clemson.edu> wtwolfe at hubcap.clemson.edu (Bill Wolfe) writes:
>
> [ Comments about certain commands in C and their 'pitfalls' deleted]
>
> 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???
>

Blatantly unsafe???? How doe you define BLATANTLY? And unsafe for whom? The
inexperienced C programmer? I would hazard to guess that there are many
constructs in many languages that would be confusiong to an inexperienced
programmer of that language until they learned to use them properly. These
constructs could be termed unsafe to use by that programmer until he/she
learned enough about the language to know in what context they could be use
"safely" and efficiently. To labal a construct as blatantly unsafe,
however, is to say that that construct is unsafe for use by ALL programmers
in ANY environment and in ANY usage WHATSOEVER. I think that this is a bit
much to say for any programming language construct.

> 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.
>
You don't redesign the language to teach a programmer how to use it. You
have to develop better methods in training a programmer in the proper use
of the language. To single out the C community (or any other programming
community) as needing to adhere to better software engineering concepts in
exclusion of any other programming community is hogwash. I have been
programming in C/UNIX for ten years. In that time I have seen my share of
bad programming practices, none the least of which was poor quality
training. I have worked in shops where the impression of C was that any
competent programmer could learn how to use it effectively by taking a
one-week class. This was a COBOL/CICS shop, by the way. It appears from
this that it is not the C community that needs to developm better software
engineering concepts, it is the software community in general. Show me a
COBOL programmer that can learn enough about all implementations of C in
one week to be able to "safely" and efficiently program in the language in
EVERY circumstance and I will personally doff my hat to the next generation
of super-programmer..8-)!!!



More information about the Comp.lang.c mailing list