Path: utzoo!attcan!uunet!hsi!stpstn!cox
From: cox@stpstn.UUCP (Brad Cox)
Newsgroups: comp.software-eng
Subject: Re: Reuse and Abstraction (was: reu
Message-ID: <5132@stpstn.UUCP>
Date: 31 May 90 08:14:53 GMT
References: <4979@stpstn.UUCP> <102100009@p.cs.uiuc.edu> <80449@tut.cis.ohio-state.edu> <19614@duke.cs.duke.edu> <80685@tut.cis.ohio-state.edu> <19760@duke.cs.duke.edu> <80884@tut.cis.ohio-state.edu> <19820@duke.cs.duke.edu> <80903@tut.cis.ohio-state.edu> <19848@duke
Reply-To: cox@stpstn.UUCP (Brad Cox)
Organization: Stepstone
Lines: 34

In article <19848@duke.cs.duke.edu> crm@romeo.UUCP (Charlie Martin) writes:
>Bruce Weide writes...
>.The other major difference between a specification and an
>.implementation, of course, is that the former says WHAT is computed,
>.while the latter says HOW it is computed.  Perhaps most computer
>.scientists (at present) are also a bit uncomfortable with things that
>.are not so procedural.  But I can't accept that this is an inherent
>.limitation of computer scientists.  Let's educate ourselves.
>
>It is afulyy hard sometimes to educate people to write a specification
>that doesn't express their idea of how the software is to be designed.
>I agree with you: computer scientists should educate themselves.

Couldn't it be that we're looking through the wrong end of the telescope
with all this emphasis on mathematics? *Everybody* deals with with the
distinctions between requirement, specification, and implementation, even
common-sense individuals like plumbers, waiters, etc.

And the common-sense meaning of these terms is precisely the meaning that
I've been using. An implementation is *correct* if it complies to its
*specification* within an acceptable tolerance. There's nothing mathematical
about it. In fact, it is all so common sense that the primary intellectual
challenge is trying to convince oneself that common sense really applies
to software. But object-oriented technologies drive me precisely towards
that conclusion, that is, assuming a software industrial revolution.

For a wonderful treatise on this topic, read "Zen and the Art of Motorcycle
Maintenance; An Inquiry into Values". It winds up being about a definition
of *quality*, which is close to *correctness*. Won't repeat his arguments 
here...but really try to read this book!
-- 

Brad Cox; cox@stepstone.com; CI$ 71230,647; 203 426 1875
The Stepstone Corporation; 75 Glen Road; Sandy Hook CT 06482