From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,f66d11aeda114c52 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,f66d11aeda114c52 X-Google-Attributes: gid103376,public From: Bertrand Meyer Subject: Re: Critique of Ariane 5 paper (finally!) Date: 1997/08/14 Message-ID: <33F3C21D.ABD322C@eiffel.com>#1/1 X-Deja-AN: 264262672 References: <33E503B3.3278@flash.net> <33E8FC54.41C67EA6@eiffel.com> <33E9B217.39DA@flash.net> <33EA5592.5855@flash.net> <33EB4935.167EB0E7@eiffel.com> <33EB754E.446B9B3D@eiffel.com> <33EBE46D.2149@flash.net> <33EF9487.41C67EA6@eiffel.com> <33F20BCE.AB3@link.com> <33F22AD8.41C67EA6@eiffel.com> Organization: Interactive Software Engineering Inc. Newsgroups: comp.lang.ada,comp.lang.eiffel Date: 1997-08-14T00:00:00+00:00 List-Id: Jon S Anthony wrote: > There is nothing new about assertions or the notion behind > [Design by Contract]. The basic ideas have been floated in > various forms for a looonnggg time now. If this is what the discussion finally amounts to, it is hard to resist self-quoting from the second paragraph of the preface to "Object-Oriented Software Construction" (http://www.eiffel.com/doc/manuals/technology/oosc/preface): just as inevitable is the well-known three-step sequence of reactions that meets the introduction of a new methodological principle: (1) "it's trivial"; (2) "it cannot work"; (3) "that's how I did it all along anyway". (The order may vary.) I guess we have reached the third step now. More seriously, it is absolutely correct that Design by Contract is based on ideas that have been around for a long time. It is also true that it includes original ideas too, including some which in my experience shock most people who encounter them for the first time, such as the idea that to obtain more reliable software you should usually *remove* checks. See also the connection with inheritance (weakening/strengthening), the connection with exceptions etc. The question originality came up not long ago on comp.lang.eiffel; Geoff Eldridge has collected at http://www.progsoc.uts.edu.au/~geldridg/eiffel/liberty/v1/n1/bm/bmdbc.html two messages posted in response, one by James McKim and one by me, which tried to ascertain what is new and what comes from earlier work. Also, the final sections of the chapters on Design by Contract and exceptions in "Object-Oriented Software Construction" have detailed bibliographical discussions of earlier publications on related topics. -- Bertrand Meyer, President, ISE Inc. ISE Building, 2nd floor, 270 Storke Road, Goleta CA 93117 805-685-1006, fax 805-685-6869, http://www.eiffel.com, with instructions for download == ISE Eiffel 4: Eiffel from those who invented it ==