comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.tsho+bauhaus@maps.futureapps.de>
Subject: Re: OO Style with Ada Containers
Date: Wed, 21 Nov 2007 10:18:53 +0100
Date: 2007-11-21T10:18:57+01:00	[thread overview]
Message-ID: <4743f801$0$16661$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <uoddojj5g.fsf@earthlink.net>

Matthew Heaney wrote:
> Maciej Sobczak <see.my.homepage@gmail.com> writes:
> 
>> You cannot do arithmetics with cursors. They don't have appropriate
>> operators and the examples you shown work with indices, not with
>> cursors. Cursors themselves can be only incremented and decremented.
> 
> Actually, I thought about this more and concluded it doesn't matter that much.
> C++ requires a uniform interface to allow the instantiation to happen, because
> of the way it binds operations (by name).  But in Ada you can build a type
> adapter on-the-fly (that's the locally declared subprogram stuff, which you
> must often do anyway), and furthermore the actual name can differ from the
> formal.  So not having cursor-based arithmetic isn't such a great loss, since
> you can always instantiate the algorithm using the index subtype instead of
> using the cursor (as I showed earlier, to pass an array to a generic
> algorithm).

At the other end of the argument is a hint from Code Complete
(McConnell 1993), adding heresy++

'Think of arrays as sequential structures. Some of the brightest people
 in computer science have suggested that arrays never be accessed
 randomly, but only sequentially (Mills and Linger 1986). Their argument
 is that random accesses in arrays are similar to random "gotos" in a
 program.' (p251)

Since Vectors "is specifically optimized for insertion and deletion at
the high end (the end with the higher index) of the container" (A.18.2)
following this advice will defeat the purpose of Vectors only partially.
;)   At least when used by average programmers (like me) who rarely
invent quicksort for slices and such.




  reply	other threads:[~2007-11-21  9:18 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
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 [this message]
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