Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!yale!spock!odicon!gaboon!stpstn!cox From: cox@stpstn.UUCP (Brad Cox) Newsgroups: comp.software-eng Subject: Re: Have *YOU* ever written a program which COULDN'T be proven correct? Message-ID: <4157@stpstn.UUCP> Date: 5 Feb 90 15:44:17 GMT References: <7598@hubcap.clemson.edu> <9630012@hpirs.HP.COM> <17080@duke.cs.duke.edu> <789@arc.UUCP> <17143@duke.cs.duke.edu> <793@arc.UUCP> <17229@duke.cs.duke.edu> Reply-To: cox@stpstn.UUCP (Brad Cox) Organization: Stepstone Lines: 47 In article <793@arc.UUCP> you write: >In article <17143@duke.cs.duke.edu> crm@romeo.UUCP (Charlie Martin) writes: >>In article <789@arc.UUCP> steve@arc.UUCP (Steve Savitzky) writes: >>This is a semantic problem; you're using the word "specification" in a >>different sense than I am. In my terminology you are saying that you >>don't know if what you stated in the requirements really meets your >>needs, and you're right. > >How about dropping the term "verification" in favor of something that >more accurately describes the state of the art, like "compile-time >assertion-checking" (or, if appropriate, "coding-time assertion >checking" ("semantics-directed editing?!") and "design-time >consistency checking"). This whole debate is like the fable of the blind men arguing about the elephant. "Its like a tree", said the one touching a leg. "Its like a snake" said the one touching the trunk. And so forth. The "computer scientists" view software as a solitary, internal, mental activity, for which mathematics is a close analogy. The "software engineers" view software as an organizational, external, tangible activity, for which plumbing is (in principle; not today in practice; reusability is still more a dream than reality) a close analogy. The intersection between the internal world of the mind and the external world of the senses has been the subject of long-standing philosophical debate. I particularly recommend "Zen and the Art of Motorcycle Maintenance; An Inquiry into Values", because it makes this very distinction right in its title; Zen = the mind, Motorcycles = the senses. None of the blind men understood the elephant from their own point of view, but they did manage it by putting their disparate points of view together. I go into all this in more detail in an article scheduled for the November 1990 issue of IEEE Software Magazine; "Software Technologies of the 1990's; a coffee-table issue meant to have a shelf-life of a decade. My contribution is titled "Planning the Software Industrial Revolution; The Impact of Object-oriented Technologies". It is about putting diverse points of view, and diverse technologies together. It is a plea for the software community to stop viewing specific technologies, ala' Ada, C++, or Smalltalk, as panaceas but as mere tools. It is a plea to stop focusing which weapon is 'better' and to begin planning how to put all available weapons together to win the *WAR*; the Software Industrial Revolution. Brad Cox