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-Thread: 103376,8ddc2f0fbdfbed75 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!94.75.214.39.MISMATCH!aioe.org!news.ecp.fr!news.jacob-sparre.dk!pnx.dk!jacob-sparre.dk!ada-dk.org!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: design changes per Ada 2005/12? Date: Fri, 22 Apr 2011 19:36:04 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1303518967 29454 69.95.181.76 (23 Apr 2011 00:36:07 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sat, 23 Apr 2011 00:36:07 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931 X-RFC2646: Format=Flowed; Original Xref: g2news2.google.com comp.lang.ada:19964 Date: 2011-04-22T19:36:04-05:00 List-Id: wrote in message news:ioqd7m$vtt$1@speranza.aioe.org... > Randy, > A lot of Claw used/tested new Ada 95 features. What would you *design* > differently with Ada 2005 or 2012? (Not syntactic sugar). Well, obviously we would have used overriding indicators from the beginning. (No surprise there, the indicators were one the first Ada 2005 features -- they got added in part because of a hard push I made because of my Claw experience.) We would have used "private with" a lot, too. Both of these are time-comuming to retrofit, but they wouldn't have changed the design a lot. I would have liked to have been able to make some or all of the types limited; one reason we didn't do that was the loss of the function syntax. Had we done that, we would have spent less time trying to get finalization to work right (the "clone" semantics is complicated to implement, and not that easy to work with, either). For Ada 2012, I would have definitely used the iterators to walk lists. Probably also would have used some of the contract features (preconditions, etc.) although they don't work well in the Claw model (where objects can change state asynchronously to the program). I'm sure there is other stuff that would have helped in specific cases (null exclusions come to mind), but I don't think the design would have been wildly different. I don't think we would have used any interfaces, for instance. Randy.