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-Thread: 103376,ea5071f634c2ea8b X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.35.68 with SMTP id f4mr3513268pbj.5.1322039103596; Wed, 23 Nov 2011 01:05:03 -0800 (PST) Path: lh20ni8439pbb.0!nntp.google.com!news2.google.com!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Generic-Package Elaboration Question / Possible GNAT Bug. Date: Wed, 23 Nov 2011 10:04:46 +0100 Organization: cbb software GmbH Message-ID: References: <7bf9bc32-850a-40c6-9ae2-5254fe220533@f29g2000yqa.googlegroups.com> <4295dc09-43de-4557-a095-fc108359f27f@y42g2000yqh.googlegroups.com> <3snehoqgs8ia$.1nobjem6g6hx6$.dlg@40tude.net> <128rdz2581345$.c4td19l7qp9z$.dlg@40tude.net> <16ipwvpdavifr$.17bxf7if7f6kh$.dlg@40tude.net> <4ecb78b1$0$6643$9b4e6d93@newsspool2.arcor-online.net> <1iofgbqznsviu$.phvidtvxlyj4$.dlg@40tude.net> <4ecbb96e$0$6581$9b4e6d93@newsspool3.arcor-online.net> <4ecbdfdb$0$6629$9b4e6d93@newsspool2.arcor-online.net> <12hfiflyf7pr5$.l3pkpgoid8xt$.dlg@40tude.net> <4ecc35b8$0$7628$9b4e6d93@newsspool1.arcor-online.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: FbOMkhMtVLVmu7IwBnt1tw.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news2.google.com comp.lang.ada:14552 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2011-11-23T10:04:46+01:00 List-Id: On Wed, 23 Nov 2011 00:52:23 +0100, Georg Bauhaus wrote: > On 22.11.11 20:15, Dmitry A. Kazakov wrote: > >>> Meyer: "Programming is a human activity". >>> Programmers are led towards a solution during the process of programming. >>> Depending on the characteristics of the process, then, >>> programmers will produce different results. >> >> I see no word "debugging" there. > > A debugging aid is a means of finding mistakes when developing programs. So it is the debugging driven design you are advocating for. Designing by fixing bugs. Nice, very nice... exactly the thing I don't want for Ada. >>> DbC (TM), as a characteristic of a process, leads to products >>> that lend themselves to proving them correct more than others, >>> provided this is possible. >> >> I suppose drinking coffee does that as well. > > No, coffee is not known to yield better manifestations of intended > subprogram behavior in source text, certainly not better than specifying > conditions (program states) framing possible executions. Really? I bet that coffee is far more helpful than frantic patching the program in the debugger. >> Note that all >> the buzz is about noticing something unanticipated. > > If a description of possible program states in not exhaustive, > then, nevertheless, this description establishes a non-empty set > of states, and another non-empty set, its complement. It is a useless description because it is not constructive (undecidable). One of the key points of good design is NOT to have such descriptions. The reader of the program, be it human or the compiler should be able to *understand* what you are describing. >> I see the point, since it is impossible do right, you are going to do it >> wrong. I am not arguing for or against your or Meyer's motivations. I only >> state that it is wrong. > > You do use compilers, and since it is impossible to know their behavior in > general, are you doing wrong? Yep, you see an executable attachment to an e-mail. Trust me, it is wrong to open it! > There is no right or wrong in most programs. You cannot build safe software on false premises. You could bring thousands reasons, but none can change the fact. What is wrong is wrong. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de