From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Question on bounded / unbounded strings Date: Thu, 22 Sep 2016 09:24:24 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <11ee98f5-d373-4c72-8562-c310cc76817d@googlegroups.com> NNTP-Posting-Host: vZYCW951TbFitc4GdEwQJg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:31837 Date: 2016-09-22T09:24:24+02:00 List-Id: On 22/09/2016 04:10, John Smith wrote: > Why would you say this? Because it is truth? (:-)) > 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. 2. Unbounded_String manipulations are *very* inconvenient. Largely because of their design flaw in Ada (no array interface), but nonetheless. > 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. > 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). 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. 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. 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). My method of string processing is sequential scanning / putting fields into: http://www.dmitry-kazakov.de/ada/strings_edit.htm Plain strings are ideal for this. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de