Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!clyde.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!apple!motcsd!lance From: lance@motcsd.csd.mot.com (lance.norskog) Newsgroups: comp.object Subject: Re: Global program state. Message-ID: <2491@motcsd.csd.mot.com> Date: 5 Jan 91 22:50:02 GMT References: <330@coatimundi.cs.arizona.edu> <2474@motcsd.csd.mot.com> <2784e0a8.6cc8@petunia.CalPoly.EDU> Organization: Motorola CSD, Cupertino CA Lines: 45 jdudeck@polyslo.CalPoly.EDU (John R. Dudeck) writes: >You are evidently a purist. In mathematics, certainly a theorem can't be >said to be true until it is proven. But I don't think it is possible to >insist that programming is essentially a mathematical exercise (despite >the attempts of many to do so). I'm not a purist at all. I don't much like mathematics. Program-proving is a separate and recognized part of "Computer Science", which has little to do with industrial programming. I view programming as much more a linguistic exercise than a mathematical exercise. The emphasis on mathematics unnecessarily drives away people (often female) who would be quite capable programmers but are not particularly interested in mathematics. I could complete a math bachelor's but I've never much liked the subject. >I believe programming and software engineering is more of a management problem >than it is a mathematical activity. The management of complexity can be >performed without the explicit statement of formal specifications and the >explicit application of formal proofs or a program transformation calculus. >We do it all the time. Here's another meaty subject. Programmers are not taught to be engineers. Programmers are taught to be poets. An engineer are trained to design something over and over again before building it, to be sure it's absolutely correct. A programmer is trained to mess around re-shaping costfree thought-stuff until he decides he's finished. This is one of the roots of the software gap. >But that doesn't mean that our programs would fail if submitted to a >formal proof. The problem is not that the programs don't work, it's >that our specification languages and our proof methods don't work. My biggest complaint about software is the extreme conservatism of programmers. Once something (C or Unix) is recognized to work vaguely well, it becomes enshrined. In the past 15 years the dominant programming system has changed from Basic to C, which I would peg at a 10% improvement. Meanwhile, hardware has improved possibly a million-fold in bang per buck. SUN's have been shipping with 19-inch graphics screens for 8 years, but they're still programmed with a text-based programming language. I think this should go to some other group. Lance