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:41:59 -0500
Date: 2011-04-22T19:41:59-05:00	[thread overview]
Message-ID: <iot78p$t0v$1@munin.nbi.dk> (raw)
In-Reply-To: 49b85caa-700c-44c8-8a11-2f512083aca5@r6g2000vbz.googlegroups.com

"Lucretia" <Lucretia9000@yahoo.co.uk> wrote in message 
news:49b85caa-700c-44c8-8a11-2f512083aca5@r6g2000vbz.googlegroups.com...
...
>P.S: The containers should've used interfaces!

We tried that with the new Queue containers, and IMHO it is a disaster. You 
have to use an extra instantiation and extra formal parameters for a feature 
that you are not going to use on 90% of the programs. (Typically, you only 
use one kind of queue in a program.)

The introduction of the interfaces also forced a horrible structure which 
requires the implementation to declare all of its internal data structures 
in a *visible* nested package. (This is partially the fault of protected 
types, which don't allow nested types for good reasons -- but if we didn't 
have the interface we could hide the protected type in the private part.)

Some of this could be fixed with substantial violence to the Ada visibility 
and implementation models, but it is not clear that what you would end up 
with be Ada. Not likely to happen, and surely not before Ada 2020.

                                   Randy.





  parent reply	other threads:[~2011-04-23  0:41 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 [this message]
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
replies disabled

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