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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c9d5fc258548b22a 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!news-xxxfer.readnews.com!news-out.readnews.com!postnews7.readnews.com!not-for-mail Date: Thu, 10 Feb 2011 10:38:28 -0500 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: How do I write directly to a memory address? References: <67063a5b-f588-45ea-bf22-ca4ba0196ee6@l11g2000yqb.googlegroups.com> <9a8njlwvey1p.1a96yvvgdf6yu.dlg@40tude.net> <4d52c5e5$0$19486$882e7ee2@usenet-news.net> <720b7e8f-1ae2-4b3b-851e-12b08b3c99e0@r4g2000prm.googlegroups.com> <4d52dd97$0$18057$882e7ee2@usenet-news.net> <9a8f406d-05ca-4bf3-8487-918d4e0dd634@o18g2000prh.googlegroups.com> <4d52ee47$0$18057$882e7ee2@usenet-news.net> <4d5306a0$0$18057$882e7ee2@usenet-news.net> <76c123ab-7425-44d8-b26d-b2b41a9aa42b@o7g2000prn.googlegroups.com> <4d5310ab$0$18057$882e7ee2@usenet-news.net> <9bff52ca-6213-41da-8fa4-3a4cdd8086d3@y36g2000pra.googlegroups.com> <4d5315c8$0$18057$882e7ee2@usenet-news.net> <159dca70-2103-46d7-beb2-c7754d30fe36@k15g2000prk.googlegroups.com> <4d53222d$0$18057$882e7ee2@usenet-news.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4d540714$0$27423$882e7ee2@usenet-news.net> NNTP-Posting-Host: aad0fa37.usenet-news.net X-Trace: DXC=ZF]2S2D??;6a22;[[Y[Xi9QFZ3T]GPM]7mX0AG3X_jU?3Cb99N\mXA4VjKk:Lk^BN1cR12TN^Bg7>9]hck9n8BlIo3 X-Complaints-To: abuse@usenet-news.net Xref: g2news2.google.com comp.lang.ada:18187 Date: 2011-02-10T10:38:28-05:00 List-Id: On 2/9/2011 7:35 PM, Shark8 wrote: >> The problem with my SumTo subprogram is that it's liable to >> raise Storage_Error for a wide range of legal arguments. > > But are they your intended arguments? > As MANY here have pointed out having (int x) is NOT > a guarantee that X is not zero, nor is it guarantee it is not > negative. > And yet many C programmers ASSUME that they *ARE* whether > based on comments or just assumptions is irrelevant to that point. You're not paying attention. You are falling into the language wars trap of finding a perceived problem in C that is fixed by Ada, and then no matter what I say, you say "but in Ada I can guarantee that the input is not zero". My SumTo subprogram can raise Storage_Error for a wide range of its legal arguments. There is nothing in an Ada spec that declares how much call stack is needed by a subprogram. Why do you believe that it is a severe problem in C that I cannot specify in the language that a parameter is positive, but it is not a severe problem in Ada that you cannot tell me for which values my program will work? >> The problem with my Exponent subprogram is that its running time >> is enormous. > > So, you didn't indicate that time was an issue. I kept asking you if I could replace your code with mine. Computer programs are not abstract objects. They are run in order to perform tasks. If you replace part of it with something that is much slower, it's likely to be very bad. Again, you focus on what Ada can do (specify argument ranges) and ignore as irrelevant what it cannot (time bounds).