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.8 required=5.0 tests=BAYES_00,PLING_QUERY autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b6d862eabdeb1fc4 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!news.glorb.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Mon, 07 Jun 2010 18:25:35 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada noob here! Is Ada widely used? References: <2o8vq76hpv1m.vs7m2beo23nz.dlg@40tude.net> <1q5k4indthpli.1dn17o4ue4a15$.dlg@40tude.net> <4c0c1188$0$6887$9b4e6d93@newsspool2.arcor-online.net> <4c0cd44f$0$6766$9b4e6d93@newsspool3.arcor-online.net> <91w8y6qvtty4.16d1ujzrvbi44.dlg@40tude.net> <4c0cfda2$0$7653$9b4e6d93@newsspool1.arcor-online.net> <1rzybokb8zxk$.qeetinq1tmbb$.dlg@40tude.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Message-ID: <4c0d1d7f$0$7654$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 07 Jun 2010 18:25:35 CEST NNTP-Posting-Host: a75c57b2.newsspool1.arcor-online.net X-Trace: DXC=@WJc@S[UYFhFXUDVUnEXQmic==]BZ:afn4Fo<]lROoRa<`=YMgDjhgb9hGMMZkPF?fnc\616M64>jLh>_cHTX3jmC^^K5a`dYXm X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:12410 Date: 2010-06-07T18:25:35+02:00 List-Id: On 07.06.10 17:34, Martin Krischik wrote: > Am 07.06.2010, 17:05 Uhr, schrieb Dmitry A. Kazakov > : > >> And I certainly don't want *parts* of the >> program being turned off by compiler switches. > > In Java it is even worse: Parts of your program are switched on by > runtime switches. See the -enableassertions. -enableassertions, pragma Assertion_Policy, translation options like choice of exception handling mechanism, optimization, -gnato, they all effect a different program. They do so following language rules. What's so special about having an option for monitoring the program via assertions? Assertions work on boolean expressions. A can't think of a commandment obliging the programmer to force side effects into his/her boolean expressions. (And then selling the program without pointing out to the operators that assertion monitoring may lead to this and that effect.) Indeed, if you follow the rules of DbC, then assertion monitoring is *never* to touch the logic of your components. "Tampers with elements/cursors" in Ada.Containers isn't that different I think.