comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: FAQ and string functions
Date: Wed, 14 Aug 2002 14:37:23 -0500
Date: 2002-08-14T14:37:23-05:00	[thread overview]
Message-ID: <ullc9nkb40rv76@corp.supernews.com> (raw)
In-Reply-To: 3D59B62F.CB30AA51@san.rr.com

Darren New wrote in message <3D59B62F.CB30AA51@san.rr.com>...
>Randy Brukardt wrote:
>> I think your missing the Ada philosophy that something expensive
should
>> look expensive. An unbounded array (as you put it) is going to be
>> expensive, and that expensive shouldn't be covered up in glossy
syntax.
>
>So you feel that including Ada.Strings.Unbounded as a standard part of
the
>language was unwise? That everyone should rewrite that library so
everyone
>knows how difficult and inefficient it is?


No, to both questions. Ada.Strings.Unbounded is useful because it
provides a lot of useful functionality beyond "unboundedness". The
"unboundedness" alone is (IMHO) insufficient reason for a library. That
is especially true as other types of arrays are much less likely to be
modified repeatedly than strings. And the cost of access (which requires
copying) is usually not an issue with strings (copying characters is
cheap). Moreover, other types of arrays are rarely an abstraction unto
themselves as strings are, so I believe that the entire thing (including
the unbounded array) should be encapsulated in that larger abstraction.

No, writing unbounded arrays is not difficult in Ada. The idiom for
making "unbounded" array objects in Ada is so fundamental that it should
be learned early by Ada programmers. And it is so simple that no one
should need a crutch (a library) to do it. It is ineffecient (because of
all of the calls to New and Free), and writing it explicitly makes that
obvious -- and also encourages the programmer to minimize these costs
(certainly Perl's syntax does not do that!). The only advantage of a
library is improved memory management (can't leak memory), but it makes
indexing and slicing harder and more expensive (as the data must copied
for each operation - which may be quite expensive). It is rare (other
than in quick and dirty programs, not what Ada is for) that the
performance hit in access can be justifed for the ease of memory
management.

I don't object to a library (it looks expensive enough), but I wouldn't
use it. Doesn't stop you from using it. And I don't think it would
satisify anyone that wants Perl-like consiseness - for that you would
have to have native syntax. But native syntax would definitely violate
the philosophy in this case. So, I don't see the value - it's not going
to attract scripting language users to Ada. But this isn't the only
supposedly important area of Ada that I don't see the value of;
certainly everyone's priorities differ, and I certainly wouldn't oppose
adding such a thing to the standard if a decent design was proposed.

                      Randy Brukardt.






  reply	other threads:[~2002-08-14 19:37 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-30  6:32 FAQ and string functions Oleg Goodyckov
2002-07-30  8:52 ` Colin Paul Gloster
2002-07-30 13:48 ` Ted Dennison
2002-07-31  4:52   ` Brian May
2002-08-01 16:09     ` Ted Dennison
2002-08-02  0:21       ` Brian May
2002-08-02  1:56         ` tmoran
2002-08-02 13:59         ` Ted Dennison
2002-07-31  7:46   ` Oleg Goodyckov
2002-07-31  9:04     ` Lutz Donnerhacke
2002-07-31  9:39       ` Pascal Obry
2002-07-31 15:06         ` Oleg Goodyckov
2002-07-31 16:50       ` Oleg Goodyckov
2002-07-31 20:16     ` Simon Wright
2002-07-31 20:56       ` Robert A Duff
2002-08-01  0:11         ` Darren New
2002-08-01  1:08           ` tmoran
2002-08-01  9:25           ` Brian May
2002-08-01 11:20           ` Oleg Goodyckov
2002-08-01 15:43             ` Darren New
2002-08-01 21:37               ` Robert A Duff
2002-08-03  0:42                 ` Ted Dennison
2002-08-03 13:51                   ` Robert A Duff
2002-08-03 16:43                   ` Darren New
2002-08-05 13:37                   ` Stephen Leake
2002-08-02  8:01               ` Oleg Goodyckov
2002-08-02 16:09                 ` Darren New
2002-08-01 11:09         ` Oleg Goodyckov
2002-08-01 14:08           ` Frank J. Lhota
2002-08-01 15:06             ` Robert A Duff
2002-08-01 16:05             ` Oleg Goodyckov
2002-08-01 14:57         ` Georg Bauhaus
2002-07-31 22:04     ` Dmitry A.Kazakov
2002-07-31 15:23       ` Oleg Goodyckov
2002-08-01 21:57         ` Dmitry A.Kazakov
2002-08-01 13:10           ` Oleg Goodyckov
2002-08-02 23:29             ` Dmitry A.Kazakov
2002-08-02 16:35               ` Oleg Goodyckov
2002-08-05 11:50                 ` Dmitry A. Kazakov
2002-08-05 14:29                   ` Larry Kilgallen
2002-08-05 14:57                     ` Dmitry A. Kazakov
2002-08-05 15:12                   ` Oleg Goodyckov
2002-08-05 16:20                   ` Darren New
2002-08-05 17:01                     ` Georg Bauhaus
2002-08-05 17:48                       ` Darren New
2002-08-05 19:06                         ` tmoran
2002-08-05 20:08                           ` Darren New
     [not found]                     ` <slrnakv3q9.p2.lutz@taranis.iks-jena.de>
     [not found]                       ` <3D4FEFCB.3B74F5E5@san.rr.com>
2002-08-14  0:07                         ` Randy Brukardt
2002-08-01 14:29     ` Ted Dennison
2002-08-01 16:47       ` Oleg Goodyckov
2002-08-02 14:05         ` Ted Dennison
2002-08-02 16:11           ` Darren New
2002-08-03  0:30             ` Ted Dennison
2002-08-03  0:58               ` Darren New
2002-08-03  2:04                 ` Dale Stanbrough
2002-08-03  2:32                 ` Ted Dennison
2002-08-03  2:47                   ` Darren New
2002-08-03 12:41                     ` Ted Dennison
2002-08-03 16:53                       ` Darren New
2002-08-04  1:08                         ` Ted Dennison
2002-08-04 16:23                           ` Darren New
2002-08-05  2:16                             ` Robert Dewar
2002-08-05  3:45                               ` Darren New
2002-08-05  9:56                     ` Lutz Donnerhacke
2002-08-05 16:02                       ` Darren New
2002-08-14  0:42                         ` Randy Brukardt
2002-08-14  1:45                           ` Darren New
2002-08-14 19:37                             ` Randy Brukardt [this message]
2002-08-14 20:25                               ` Stephen Leake
2002-08-14 20:22                           ` Stephen Leake
2002-08-15 19:24                             ` Randy Brukardt
     [not found]                         ` <jb1vkustkugeutalhvrhv1n0k9hqn2fpip@4ax.com>
     [not found]                           ` <3D4FF351.8F4A6C0A@san.rr.com>
2002-08-14  1:03                             ` Randy Brukardt
2002-08-14  1:05                       ` Robert A Duff
     [not found]                       ` <3D4EA1AC.80D17170@s <wccofc6b66u.fsf@shell01.TheWorld.com>
2002-08-14 20:29                         ` Stephen Leake
2002-08-26 17:53                           ` Robert A Duff
2002-08-26 18:40                             ` Chad R. Meiners
2002-08-26 18:52                               ` Robert A Duff
2002-08-26 21:46                                 ` Chad R. Meiners
2002-08-05 13:29                     ` Stephen Leake
2002-08-03  5:07                   ` achrist
2002-08-03 12:52                     ` Ted Dennison
2002-08-05 15:34                       ` Ted Dennison
2002-08-05 13:24                 ` Stephen Leake
2002-08-05 16:02                   ` Darren New
2002-08-05  7:18           ` Oleg Goodyckov
2002-08-02  1:04     ` tmoran
replies disabled

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