Xref: utzoo comp.lang.c:26332 comp.software-eng:2935 Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!ncrlnk!emdeng!btrue From: btrue@emdeng.Dayton.NCR.COM (Barry.True) Newsgroups: comp.lang.c,comp.software-eng Subject: Re: C Community's Cavalier Attitude On Software Reliability Keywords: Unprofessional Irresponsible Message-ID: <238@emdeng.Dayton.NCR.COM> Date: 26 Feb 90 15:26:06 GMT References: <8147@hubcap.clemson.edu> Reply-To: btrue@emdeng.UUCP (Barry.True) Organization: NCR, E&M Dayton Lines: 49 In article <8147@hubcap.clemson.edu> wtwolfe@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-)!!!