Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!emory!gatech!udel!princeton!pucc!EGNILGES From: EGNILGES@pucc.Princeton.EDU (Ed Nilges) Newsgroups: comp.software-eng Subject: Re: Unlimited software warranties Message-ID: <12600@pucc.Princeton.EDU> Date: 19 Mar 91 13:25:36 GMT References: <1991Mar12.015256.16098@ico.isc.com> <8024@rsiatl.Dixie.Com> <1991Mar13.021244.2538@ico.isc.com> <1991Mar16.171033.380@am.sublink.org> Reply-To: EGNILGES@pucc.Princeton.EDU Organization: Princeton University, NJ Lines: 67 Disclaimer: Author bears full responsibility for contents of this article In article <1991Mar16.171033.380@am.sublink.org>, alex@am.sublink.org (Alex Martelli) writes: >I agree with Dick Dunn's lament on c.u.sysv386 - there is a "feature >frenzy" around, products are sold mostly on feechurs, secondly on >time-to-market, thirdly on price, and QUALITY just does not seem to be >on the list. I am trying to redirect the discussion to c.s-e, because Amen, Alex: but as to why quality is so little valued in software, look at the recent discussion on counting "lines" of C code. This discussion took a badly-defined goal (counting lines of code in a free-form language) and provided several solutions, none of which worked. The only solution that does work is to count statements according to the strict Backus-Naur form definition of the language but the attitude appears to be that this is "too complicated" and that pseudoclever one-line sed or awk "tools" are more useful. It's not just marketing that's at fault: it's an unholy alliance of marketing, impatient for software that sells, and managers who have forgotten that software is difficult and takes time. It's also the time-honored anticompetitive practises of the industry, in which the big boys announce software, then run to the back room, chain the programmers to their desks, and start cracking the whip. Although IBM pioneered this, Microsoft is now under FTC investigation for exactly the same sort of practises (New York Times, 3/13/91, p. D1.) >tools, an ar that will not silently munge my archive if it's over 512 If I had ten dollars for every time a programmer said, that number will never exceed n, I'd be as rich as Billy Gates...the address width of the IBM 360 is a good example. It is easy to avoid magic numbers and to use malloc in place of static allocation, but these techniques don't seem to be taught. >-- >Alex Martelli - (home snailmail:) v. Barontini 27, 40138 Bologna, ITALIA >Email: (work:) martelli@cadlab.sublink.org, (home:) alex@am.sublink.org >Phone: (work:) ++39 (51) 371099, (home:) ++39 (51) 250434; >Fax: ++39 (51) 366964 (work only), Fidonet: 332/401.3 (home only). Ah, that explains it: the guy's from a foreign country. Here in the United States many of the concerns Alex raises are simply beyond the ken of many programmers, since the educational system does such a poor job in teaching students how to read/think/do math. In the States we laugh at the Soviets and their lag in technology. When I give seminars in C programming at a company in Chicago that has hired Russian emigres, the performance of the emigres is MUCH MUCH better than that of the US students. This is because (1) these students learned real math including the calculus in grade school and (2) the very lack of personal computers taught these students how to think critically about their code, as "desk-checking" is still a prized skill in Soviet research institutions where Behemoth is still the machine of choice. It was a joy to teach these students C based on Backus-Naur syntax and hand-execution in preference to "put it on the machine and see if it breaks." If programming is going to survive as a profession, programmers need to design in quality even when management doesn't ask for it. Why? Because when the lawsuits begin when the software fails, managers will point to the programmers as being at fault. And, like the guy peddling oatmeal on the boob tube says, writing quality code is "the right thing to do." +--------------------------------+ Edward G. Nilges | Child support, tax-deductible | Princeton University | to payer AND receiver: an idea | Information Center | whose time has come. | Bitnet: EGNILGES@PUCC +--------------------------------+ (609) 258-2985