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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!news.netcologne.de!newsfeed-hp2.netcologne.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Ada vs Eiffel - Ada programmer approach Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <405b5054-4c8f-4e16-9ea8-503a9b9f976e@t21g2000yqi.googlegroups.com> <4A19765C.608@obry.net> <8105b65f-4de9-4653-b43a-d55ee33f072d@k2g2000yql.googlegroups.com> <130yh6dv3l1lf$.1729u4tpolgwi.dlg@40tude.net> <4a1c2652$0$30220$9b4e6d93@newsspool1.arcor-online.net> <1r1ho3wqsjncb.1p3p7qe2qcqmw.dlg@40tude.net> <4a1c2dfe$0$30236$9b4e6d93@newsspool1.arcor-online.net> Date: Tue, 26 May 2009 21:52:58 +0200 Message-ID: NNTP-Posting-Date: 26 May 2009 21:52:58 CEST NNTP-Posting-Host: e92cde2f.newsspool1.arcor-online.net X-Trace: DXC=IHB2:S>LaeRaoembcbF;DQic==]BZ:af^4Fo<]lROoRQ^YC2XCjHcbYH1H@Tml5BL\DNcfSJ;bb[UIRnRBaCd On Tue, 26 May 2009 19:59:26 +0200, Georg Bauhaus wrote: > Dmitry A. Kazakov schrieb: > >> There is no loop since "contract is satisfied" is not a variable. Otherwise >> you cannot design "by contract", obviously. > > The Eiffel answer is that yes, you can do that because > in order to get anything done, assertion checking must > not happen at times. That's a reasonable design, because > there is no practical alternative. ;-) Confusing things? (:-)) >> Ada's static typing system and SPARK do it right. > > SPARK imposes limitations that are not present when employing > DbC. More checks you want to do more language limitations you need. Nothing is for free. > SPARK cannot replace DbC, or improve it, and vice versa, > basically because DbC (not used as static assertions only) and > SPARK are largely incommensurable. Nope, the point is not how many checks, it is about consistency of checks. SPARK does it consistently, Eiffel does not. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de