Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: net.cog-eng Subject: Re: knowledge and design Message-ID: <6176@utzoo.UUCP> Date: Wed, 27-Nov-85 16:26:21 EST Article-I.D.: utzoo.6176 Posted: Wed Nov 27 16:26:21 1985 Date-Received: Wed, 27-Nov-85 16:26:21 EST References: <11800001@uiucme> Organization: U of Toronto Zoology Lines: 28 > Computer Science has learned what the rest of us are only just > catching on to - complex systems require a disciplined, structured > design approach unless you want to spend your life debugging. Computer Science has not yet learned what the rest of us have known for some time: even disciplined, structured design approaches don't solve all the problems. Not even close. > And in fact there are power plants and factories and ships and > airplanes out there - all of them incredibly complex systems - > that are still being debugged after ten, twenty, even thirty years > of service. This is also the case for most major programs, including the ones written by computer scientists using structured design approaches. Even the Holy Writ of computer science's Provisional Wing (the mathematical-correctness- solves-everything advocates), Dijkstra's book, which explicitly claims to teach you how to write bug-free programs, has bugs in its examples. Not many bugs, but a few, and those examples are not large programs. Now that I've offended all my Computer Science friends, I should point out that there is much to be said for disciplined, structured design, and even for mathematical correctness arguments, provided you regard them as useful techniques rather than the Answer To Everything. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry