From: John Smith <yoursurrogategod@gmail.com>
Subject: Re: Question on bounded / unbounded strings
Date: Fri, 23 Sep 2016 16:58:21 -0700 (PDT)
Date: 2016-09-23T16:58:21-07:00 [thread overview]
Message-ID: <da9acaf0-b980-428b-85de-c7197d98ddb1@googlegroups.com> (raw)
In-Reply-To: <ns010s$1s8h$1@gioia.aioe.org>
On Thursday, September 22, 2016 at 3:25:18 AM UTC-4, Dmitry A. Kazakov wrote:
> On 22/09/2016 04:10, John Smith wrote:
>
> > I've found the ease with which you can append or manipulate unbounded
> > strings to be very convenient.
>
> 1. There is no need to append to a string in no less than 90% of cases.
The percentage in this case depends on what application you are developing. Sometimes you will need to do this more often, sometimes less often.
>
> 2. Unbounded_String manipulations are *very* inconvenient. Largely
> because of their design flaw in Ada (no array interface), but nonetheless.
Yes, there is that. However, that's not a very real inconvenience. I can easily get the length of the string, get a sub-string, find a sub-string in the main string, etc.
If anything, a fixed string is less convenient since you need to walk on eggshells and cannot simply assign a new value to the existing string.
>
> > Furthermore, I don't need to worry about
> > computing the bound of my string.
>
> Neither do I, I never ever used bounded strings. They are totally
> useless, IMO.
>
When I said bound, I meant the length ;-)
> > But I genuinely am curious about your view on this and why.
>
> As I said in 90% cases the string is given, it is an input. All strings
> derived from the input strings are substrings (or their derivatives).
>
If you need to separate a large string into a bunch smaller ones that do not have a pre-determined size, using a fixed string does not make any sense.
> The use cases like tokenizing are virtually non-existent, they are just
> bad programming practices coming from scripting languages which have no
> decent support of string characters iteration and from languages
> incapable to return strings as a result of function call.
>
Could you please give an example. I'm used to Python and it's trivial to have a function return a string.
> As for 10% when strings are output, e.g. string formatting, unbounded
> strings are no more usable. The output length is usually fixed
> consisting out of fields. The substrings are aligned in the fields. It
> is far easier with plain strings and substrings.
>
When you do need to build a string, it is far easier to have one unbounded string that is added on to and then written out. Having a fixed string means that I woul need something along the lines of a recursive solution, since I can't extent the size of the string after it's been instantiated.
> The idea of using Unbounded_String as an accumulator, e.g. for some
> messages log, is just awful. It won't work and at the end you will need
> to have a special data structure (text buffer) for this (with plain
> strings as building blocks).
>
Why won't it work? I've built HTML files and small reports using an unbouded string and it worked fine.
I don't agree with you on this topic.
next prev parent reply other threads:[~2016-09-23 23:58 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 [this message]
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
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