comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: design changes per Ada 2005/12?
Date: Fri, 22 Apr 2011 19:36:04 -0500
Date: 2011-04-22T19:36:04-05:00	[thread overview]
Message-ID: <iot6tm$soe$1@munin.nbi.dk> (raw)
In-Reply-To: ioqd7m$vtt$1@speranza.aioe.org

<tmoran@acm.org> 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.





      parent reply	other threads:[~2011-04-23  0:36 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-21 23:05 design changes per Ada 2005/12? tmoran
2011-04-22  1:10 ` Lucretia
2011-04-22  1:23   ` Shark8
2011-04-23  0:41   ` Randy Brukardt
2011-04-23  6:44     ` Dmitry A. Kazakov
2011-04-23 21:27       ` Maciej Sobczak
2011-04-26 16:19     ` Lucretia
2011-04-26 23:12       ` Randy Brukardt
2011-04-23  0:36 ` Randy Brukardt [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox