Xref: utzoo comp.lang.c:26388 comp.software-eng:2958 Path: utzoo!attcan!uunet!jarthur!uci-ics!orion.oac.uci.edu!usc!zaphod.mps.ohio-state.edu!uwm.edu!dogie.macc.wisc.edu!uwvax!umn-d-ub!cs.umn.edu!nis!wd0gol!newave!john From: john@newave.UUCP (John A. Weeks III) Newsgroups: comp.lang.c,comp.software-eng Subject: Re: C Community's Cavalier Attitude On Software Reliability Summary: Speak softly and carry a large flame gun... Keywords: You Get What You Pay For Message-ID: <60@newave.UUCP> Date: 26 Feb 90 02:23:11 GMT References: <8147@hubcap.clemson.edu> Reply-To: john@newave.mn.org (John A. Weeks III) Followup-To: comp.lang.c Organization: NeWave Communications Ltd, Eden Prairie, MN Lines: 97 In article <8147@hubcap.clemson.edu> wtwolfe@hubcap.clemson.edu (Bill Wolfe) writes: > 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: > [ ... List of bugs in software that Mr Wolfe is probably using for FREE ] Bill, I take great exception to your accusing me of being unprofessional. I can write really good or really bad code equally well. The difference between the two is the amount of time that I am allowed, and how much I am being paid. > 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 ^^^^^^ read "useful" > software seems to erode public confidence in software reliability on a > regular basis (Nationwide Computer Network Infected By Worm; National > Telecommunications System Crashes), ... Would you feel better if the networking code was written in BASIC? I bet someone would have to modify BASIC to allow exponential format for the line numbers. Didn't Church prove that you can develop an equally poor implementation of a problem in any language? > ... it would seem appropriate to ask: > When is the C community going to clean up its act??? The big issue is economics. You can have the current nationwide network for X dollars, or a "totally secure" network for many times more than X. Please think about three facts: 1. Totally secure is not possible (nor is totally reliable) 2. Extra levels of security will probably reduce overall productivity at all levels, so you can multiply X a few more times. 3. If the cost were much higher, would it exist at all? If my managers doubled our development budget, we might improve the quality of our already excellent products. But more likely, management would rather have us turn out twice as many products. > It appears that there is a real need to publicize software engineering > concepts throughout the C community, both directly through software > engineering education ... The solution to an economic problem is an economic solution: pay good programmers well, pay poor programmers poorly. As long as poor programmers are in heavy demand, poor code is going to be written. The economics will dictate the accepted level of education (my theory on why MBA's are so popular). If you wish to construct a top-notch product, hire top-notch programmers with a proven track record, and pay them well. If you hire an overworked grad student for $3.65 an hour, you may find that your employee might not really care about doing a good job. > ... and indirectly through a redesign of the C language > to provide greater support for the software engineering process. Isn't one version of ADA enough? > If not, government regulation of the field will probably soon become > inevitable. Yea, right. Like government regulations keep seedy people out of the legal profession. And MD's never let drinking problems affect their work. I used to work in an industry that required all workers to have federal permits. There were some very good and some very poor radio technicians, but most were in the average category. Now that the FCC no longer requires federal permits for radio workers (only for radar and for federally regulated installations...like air traffic control), the industry still has the same mix of people. Some good, some bad, but most are average. The bottom line? If you have a problem with a program, do not blame the programmer. Aim the questions at his or her management. Management is ultimatly responsible for all software projects, whether it be a Microsoft sized company or a professor with 1 part-time student worker. (I exempt the wonderful software that is posted by USENET people from this discussion and from my "bottom line". Freeware is in a class above this discussion.) -john- -- =============================================================================== John A. Weeks III (612) 942-6969 john@newave.mn.org NeWave Communications ...uunet!rosevax!bungia!wd0gol!newave!john ===============================================================================