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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,bc1361a952ec75ca X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,582dff0b3f065a52 X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,582dff0b3f065a52 X-Google-Attributes: gid1014db,public X-Google-ArrivalTime: 2001-08-13 14:26:03 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!news1.ebone.net!news.ebone.net!news.net.uni-c.dk!newsfeed1.uni2.dk!news.algonet.se!algonet!pepsi.tninet.se!not-for-mail From: Stefan Skoglund Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++ Subject: Re: How Ada could have prevented the Red Code distributed denial of service attack. Date: Mon, 13 Aug 2001 22:54:56 +0200 Organization: Telenordia Message-ID: <3B783EA0.155E72EE@ebox.tninet.se> References: <3b690498.1111845720@news.worldonline.nl> <9kbu15$9bj@augusta.math.psu.edu> <9kbvsr$a02@augusta.math.psu.edu> <3B69DB35.4412459E@home.com> <3B6F312F.DA4E178E@home.com> NNTP-Posting-Host: du157-153.ppp.algonet.se Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: cubacola.tninet.se 997737950 25133 195.100.153.157 (13 Aug 2001 21:25:50 GMT) X-Complaints-To: abuse@algo.net NNTP-Posting-Date: 13 Aug 2001 21:25:50 GMT X-Mailer: Mozilla 4.72 [en] (Win95; I) X-Accept-Language: sv,en,en-US Xref: archiver1.google.com comp.lang.ada:11874 comp.lang.c:73982 comp.lang.c++:82228 Date: 2001-08-13T21:25:50+00:00 List-Id: "Warren W. Gay VE3WWG" wrote: > > This seems a minor advantage. In fact, I consider the uniformity > > and advantage. Less possibility for off by one errors (did they start > > at 0 or at 1? I am too lazy to check, let's just assume 1, etc) You dont know about the first, last and range attributes on arrays, do you ? A simple example of direct support in Ada for databases: A generic called Relation is available. declare type ProjectRel is new relation (RelName=>"PROJECT", operation=>Pi, "Name"&"Location"); -- Run an projection on a example relation out of Elmasri's DB book. accounts: Accounts; -- Instantiation , starts processing account:=accounts�first; -- hrrm dont really works but it is the gist of it. begin accounts(account).Name account:=account'succ to iterate fw in the set. 'succ is defined to walk every tuple once and only once if ok commit; end if; end; -- potentially run rollback An easy way of iterating over every tuple which matches the query. > > Minor advantage. Totally ofset by the fact that serious software needs > > internationalization anyway. If really needed, a gross #define hack > > does the trick. > > You said it best -- "gross". ;-) It is also "error prone", which is one > reason why Ada makes this service available. And IT really requires a good c preprocessor and well good c preprocessors isn't available always. Every preprocessor has some uncharted bugs.