comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: OO Style with Ada Containers
Date: Mon, 19 Nov 2007 05:44:02 -0800 (PST)
Date: 2007-11-19T05:44:02-08:00	[thread overview]
Message-ID: <f035a11d-1a56-480e-a577-502217b5c7b3@w34g2000hsg.googlegroups.com> (raw)
In-Reply-To: uejenaqtr.fsf@earthlink.net

On 19 Lis, 03:53, Matthew Heaney <matthewjhea...@earthlink.net> wrote:

> The container library was directly influenced by the container-part of the STL.

And I will repeat that I don't see much influence there.

It is impossible to come up with infinite number of significantly
different container libraries, so in practice there will be
similarities between any two, even if chosen randomly.
Can you convince me that Ada.Containers is closer to STL than to Java
containers (for example)? If not, then why it is repeated so often
that Ada.Containers were influenced by STL? Do you by any chance find
something in C++ that is worth imitating? :-)

I don't claim that the designers of Ada.Containers didn't have STL in
mind when taking some decisions, but the essence [*] of STL just
didn't get there.

[*] I agree that the exact meaning of "essence" here can be
subjective.

> > In paricular, I miss the ability to work with iterators *alone*.
>
> You mean algorithms?

As well.

>  Ada has other mechanisms, such as nested procedures and
> downward closures, and the container library was designed to use the Ada
> mechanisms.

So how can I use these mechanisms to partition the sequence? How can I
move the top 10 (for the given comparator) elements to the beginning?
How can I sort the first 10 elements of the sequence, without wasting
time on sorting the remaining billion?

How can I use these mechanisms to make iterator adaptors? Consider a
filtering iterator that automatically skips unwanted (for the given
predicate) elements. Consider a virtual iterator that does not have
*any* container behind, but can serve as a sequence generator. And so
on.

I know that I can achieve all these in Ada (after spending some
weeks), but the solution is so far from the spirit of STL that talking
about influence is a bit overstated.

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com



  reply	other threads:[~2007-11-19 13:44 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-14 23:28 OO Style with Ada Containers braver
2007-11-14 23:50 ` Adam Beneschan
2007-11-14 23:59   ` braver
2007-11-15  0:24     ` braver
2007-11-15  9:36       ` Ludovic Brenta
2007-11-15 10:36         ` braver
2007-11-15 11:35           ` Ludovic Brenta
2007-11-15 13:50             ` braver
2007-11-19  2:45               ` Matthew Heaney
2007-11-15 18:22             ` braver
2007-11-15 20:18               ` Ludovic Brenta
2007-11-19  2:48                 ` Matthew Heaney
2007-11-19  2:47               ` Matthew Heaney
2007-11-19  2:39             ` Matthew Heaney
2007-11-19  2:38           ` Matthew Heaney
2007-11-19  2:36         ` Matthew Heaney
2007-11-19  2:24       ` Matthew Heaney
2007-11-23 10:28         ` braver
2007-11-23 13:29           ` Martin Krischik
2007-11-23 14:19             ` Georg Bauhaus
2007-11-25 13:38           ` Ludovic Brenta
2007-11-26  3:58             ` Matthew Heaney
2007-11-26  3:55           ` Matthew Heaney
2007-11-23 22:25         ` braver
2007-11-23 22:46           ` Pascal Obry
2007-11-23 22:52             ` braver
2007-11-26  4:09               ` Matthew Heaney
2007-11-26  4:07             ` Matthew Heaney
2007-11-26  4:03           ` Matthew Heaney
2007-11-26 13:45             ` Matthew Heaney
2007-11-26 19:09               ` braver
2007-11-26 20:29                 ` Matthew Heaney
2007-11-27 19:31                   ` Georg Bauhaus
2007-11-27 20:12                     ` Matthew Heaney
2007-11-25 14:08         ` braver
2007-11-26  4:21           ` Matthew Heaney
2007-11-19  1:04   ` Matthew Heaney
2007-11-15  8:43 ` Dmitry A. Kazakov
2007-11-15 14:04   ` Maciej Sobczak
2007-11-19  2:53     ` Matthew Heaney
2007-11-19 13:44       ` Maciej Sobczak [this message]
2007-11-19 14:44         ` Martin
2007-11-19 15:51         ` Matthew Heaney
2007-11-19 17:33           ` Markus E L
2007-11-19 21:29           ` Maciej Sobczak
2007-11-19 22:16             ` Matthew Heaney
2007-11-19 22:22               ` Matthew Heaney
2007-11-20 14:11               ` Maciej Sobczak
2007-11-20 17:00                 ` Matthew Heaney
2007-11-20 17:17                   ` Matthew Heaney
2007-11-20 21:13                   ` Maciej Sobczak
2007-11-20 21:57                     ` Matthew Heaney
2007-11-21  4:51                     ` Matthew Heaney
2007-11-21  9:18                       ` Georg Bauhaus
2007-11-21 15:59                         ` Maciej Sobczak
2007-11-21 17:41                           ` Georg Bauhaus
2007-11-21 22:25                         ` Jeffrey R. Carter
2007-11-20 18:06                 ` Georg Bauhaus
2007-11-19 16:19         ` Dmitry A. Kazakov
2007-11-19 20:45           ` Maciej Sobczak
2007-11-20  2:24             ` Matthew Heaney
2007-11-20  9:06             ` Dmitry A. Kazakov
2007-11-20 12:16               ` Georg Bauhaus
2007-11-21 15:17                 ` Dmitry A. Kazakov
2007-11-19  2:50   ` Matthew Heaney
2007-11-19  1:03 ` 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