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.
prev 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