From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Question on bounded / unbounded strings
Date: Wed, 28 Sep 2016 16:09:37 -0500
Date: 2016-09-28T16:09:37-05:00 [thread overview]
Message-ID: <nshbhr$5m0$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: e60176b6-4c61-474a-a191-b31821816004@googlegroups.com
"John Smith" <yoursurrogategod@gmail.com> wrote in message
news:e60176b6-4c61-474a-a191-b31821816004@googlegroups.com...
On Saturday, September 24, 2016 at 3:52:54 AM UTC-4, Dmitry A. Kazakov
wrote:
...
> However, if I ever need string functionality that I'm used to in Python or
> C++,
Ada doesn't have it (sadly).
I used to tell people to use Unbounded_Strings, but that was before I tried
to build an application that way. (I discussed that further in a different
message in this thread). You have to revert to String in many places (which
is aggrevating [Ada 2005 did eliminate a couple of them, but it doesn't help
much], one has to look up the names of the operations beyond the most basic,
and if you are sensible use-adverse person (:-)), the names you have to use
are nasty (Ada.Strings.Unbounded.To_Unbounded_String ("Foo") -- gack!!!)
To get that Python functionality in Ada, you have to be willing to stand on
your head, and once you are willing to do that, you might as well use String
for most everything other than storage of variable-lengthed strings. (And
it's not that hard to do the latter for String as well, but that gets into
manual storage management that everyone gets wrong.) All of the operations
of Unbounded_String are also available in Ada.Strings.Fixed (unless, of
course, they're builtin operations like indexing and slicing), so there's no
need to reinvent most of those wheels.
Randy.
Unbounded strings are the only reasonable solution. Yes, I can work have
fixed size strings do the same, but then I will have to craft needlessly
complex logic to accomplish the same thing. If someone else (or me) needs
to spend more time than is necessary in order to understand what I'm doing
in my source, then it is an indication -- usually -- that either my design
or implementation is flawed (and as we know, perception is reality,
especially to humans.)
next prev parent reply other threads:[~2016-09-28 21:09 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-13 8:46 Question on bounded / unbounded strings Arie van Wingerden
2016-09-13 9:04 ` Dmitry A. Kazakov
2016-09-22 2:10 ` John Smith
2016-09-22 7:24 ` Dmitry A. Kazakov
2016-09-22 9:01 ` J-P. Rosen
2016-09-22 9:53 ` Dmitry A. Kazakov
2016-09-22 10:58 ` G.B.
2016-09-22 12:05 ` Dmitry A. Kazakov
2016-09-22 14:14 ` G.B.
2016-09-22 17:18 ` Dmitry A. Kazakov
2016-09-22 11:08 ` J-P. Rosen
2016-09-22 12:05 ` Dmitry A. Kazakov
2016-09-22 13:18 ` Maciej Sobczak
2016-09-22 13:52 ` Dmitry A. Kazakov
2016-09-22 14:51 ` Maciej Sobczak
2016-09-22 17:13 ` Dmitry A. Kazakov
2016-09-23 5:50 ` Maciej Sobczak
2016-09-23 6:36 ` Simon Wright
2016-09-23 7:48 ` Dmitry A. Kazakov
2016-09-28 20:55 ` Randy Brukardt
2016-09-23 23:58 ` John Smith
2016-09-24 7:52 ` Dmitry A. Kazakov
2016-09-24 16:25 ` John Smith
2016-09-24 17:44 ` Dmitry A. Kazakov
2016-09-24 18:33 ` John Smith
2016-09-24 18:37 ` John Smith
2016-09-24 18:59 ` John Smith
2016-09-25 8:50 ` Dmitry A. Kazakov
2016-09-25 23:35 ` brbarkstrom
2016-09-26 7:28 ` Dmitry A. Kazakov
2016-09-26 12:39 ` brbarkstrom
2016-09-28 21:09 ` Randy Brukardt [this message]
2016-09-30 7:59 ` Björn Lundin
2016-09-13 9:35 ` gautier_niouzes
2016-09-13 10:41 ` Alejandro R. Mosteo
2016-09-13 17:41 ` Jeffrey R. Carter
2016-09-13 17:59 ` Björn Lundin
2016-09-14 11:23 ` Arie van Wingerden
2016-09-14 12:26 ` Arie van Wingerden
2016-09-14 12:28 ` Arie van Wingerden
2016-09-14 12:57 ` Arie van Wingerden
2016-09-14 19:39 ` Jeffrey R. Carter
2016-09-17 16:35 ` Arie van Wingerden
2016-09-16 14:43 ` Olivier Henley
2016-09-17 16:35 ` Arie van Wingerden
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox