comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Bases for the Design of a Standard Container Library for Ada
Date: Wed, 3 Sep 2003 21:19:33 -0500
Date: 2003-09-03T21:19:33-05:00	[thread overview]
Message-ID: <vld85u3hhifved@corp.supernews.com> (raw)
In-Reply-To: 4a4de33a.0309021059.53f71234@posting.google.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1917 bytes --]

"M�rio Amado Alves" <maa@liacc.up.pt> wrote in message
news:4a4de33a.0309021059.53f71234@posting.google.com...
> I'm submiting this document to the Ada community as a request for
> comments:
>
>   BASES FOR THE DESIGN OF A STANDARD CONTAINER LIBRARY FOR ADA

What's missing in this document is a discussion of what the library is
trying to accomplish. You really have to have that before you can even talk
about other requirements.

If I was writing such a purpose statement, I would come up with something
like:

"The library is intended to provide a standard set of building blocks to
make it easier and faster to create the non-critical parts of applications."

Once a purpose statement is agreed to, you can evaluate technical
requirements based on it. For instance, my purpose statement would allow
drawing the following conclusions:
    -- Ease of use is paramount. There should be as few instantiations and
other complications as possible. (Ideally, exactly one, simple
instantiation.)
    -- "Non-critical" means that multiple versions of a component tailored
for specific patterns of use are not needed. When performance is critical,
the standard library is not intended to be used. (Build your own data
structures.) Note, however, that performance is rarely critical, so this
won't make much difference in practice.
    -- Similarly, concurrency protection isn't needed. (But any standard
library in Ada has to work from multiple tasks as long as the objects are
disjoint.)

And so on. I don't want to impose my statement on the process; it's just an
example. But I think we need such a statement with some level of agreement
before anything else can be (or should be) said.

(We do have to be careful of trying to make the standard library all things
to all people. That isn't possible, and we shouldn't be encapsulating a load
of complexity for that.)

                            Randy Brukardt.







  parent reply	other threads:[~2003-09-04  2:19 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-02 18:59 Bases for the Design of a Standard Container Library for Ada Mário Amado Alves
2003-09-03 20:30 ` Warren W. Gay VE3WWG
2003-09-03 21:07   ` David C. Hoos
2003-09-04  2:19 ` Randy Brukardt [this message]
2003-09-04 11:56   ` Mário Amado Alves
2003-09-05  3:55     ` Randy Brukardt
2003-09-05  5:17       ` Matthew Heaney
2003-09-05 11:45         ` Amado Alves
2003-09-05 19:40           ` Randy Brukardt
2003-09-05 15:10         ` Martin Krischik
2003-09-07 18:03           ` Matthew Heaney
2003-09-08 12:54             ` Mário Amado Alves
2003-09-08 17:02 ` Bases 1.57 Martin Krischik
2003-09-08 17:07 ` Bases 1.58 Martin Krischik
2003-09-09 16:37 ` Bases 1.52 Martin Krischik
2003-09-10  7:49   ` Mário Amado Alves
2003-09-11 15:03     ` Martin Krischik
2003-09-12 10:58       ` Mário Amado Alves
2003-09-12 13:05         ` Martin Dowie
2003-09-12 17:49           ` maximum number of lines per spec (was: Bases 1.52) Mário Amado Alves
2003-09-13 12:18             ` Marin David Condic
2003-09-12 15:36         ` Bases 1.52 Martin Krischik
2003-09-14  6:51       ` Matthew Heaney
2003-09-14 14:32         ` Martin Krischik
2003-09-14 18:22         ` Robert I. Eachus
2003-09-14 22:56           ` Nick Roberts
2003-09-15  0:17             ` Robert I. Eachus
2003-09-14  6:45   ` Matthew Heaney
replies disabled

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