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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: Loryn Jenkins Subject: Re: Software landmines (loops) Date: 1998/09/10 Message-ID: <35F79F3B.C463EA07@s054.aone.net.au>#1/1 X-Deja-AN: 389694838 Content-Transfer-Encoding: 7bit References: <35f51e53.480 <904556531.66622 <6t4dmi$rhp@flatland.dimensional.com> <35F712BD.4F521172@earthlink.net> X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii X-Trace: news.mel.aone.net.au 905420656 7057 203.12.186.110 (10 Sep 1998 09:44:16 GMT) Organization: TekRite Pty Ltd Mime-Version: 1.0 Reply-To: loryn@acm.org NNTP-Posting-Date: 10 Sep 1998 09:44:16 GMT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-10T09:44:16+00:00 List-Id: > It has been claimed that Design By Contract (DBC) can be done entirely > by comments and documentation. I, personally, don't believe it. It is > my expectation that the routines with explicit pre-conditions and > post-conditions would work as desired in the Eiffel environment, where > the developer could have pre-conditions enabled while developing it, and > only remove them (IN LAYERS!) when the final code was produced. I don't > think that this would work at all as well without support from the IDE. > > Now it is true, that the failures of DBC in an environment that doesn't > support it can be traced to the contract not being lived up to, but > ENFORCEABILITY IS A PART OF THE CONTRACT. In an environment that > doesn't enforce the contract, violations will not be detected, and I > don't know about you, but my programs always need to have the bugs > cleaned out of them before they are ready for delivery. Yes, of course it can. And yes, it would not nearly be as clean or easy to do without the Eiffel environment support. Having said that, Geoff Eldridge has used this style quite successfully in Perl (as documentation only); Don Harrison has used it very successfully in Ada (using Ada approximations pre-, post-conditions and invariants); others have used it to good effect in C++. It most certainly is a rigorous methodological approach to designing software (and therefore is not specific to a language), but is greatly helped by automated tool support. Loryn Jenkins