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.0 required=5.0 tests=BAYES_00,DATE_IN_PAST_24_48, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,d5b211b0c1ffcf3e X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.204.157.134 with SMTP id b6mr517383bkx.5.1339709650371; Thu, 14 Jun 2012 14:34:10 -0700 (PDT) Path: e27ni48765bkw.0!nntp.google.com!news1.google.com!news2.google.com!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Practicalities of Ada for app development Date: Wed, 13 Jun 2012 21:11:04 +0200 Organization: cbb software GmbH Message-ID: <1mm52az2aghu6$.12xokh559i5a6.dlg@40tude.net> References: <89e137c8-45b1-48a3-8d15-3a15d8796af0@googlegroups.com> <1ij4sij23rw7l.g2ym8z451mt4.dlg@40tude.net> <25b7d199-634c-44d6-b9db-4bd20d4c9d19@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: 4RFYTQ6jM/dAKFJoI0fUkg.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2012-06-13T21:11:04+02:00 List-Id: On Wed, 13 Jun 2012 11:21:10 -0700 (PDT), Shark8 wrote: >> Similarly, encoding is an implementation of two interfaces one of which an >> array of code points another is an array of storage or stream elements. >> >> There is no need in any libraries to be cut and paste for each of the >> infinite combination of string representations x implementation x code >> point constraints x bounds constraints etc. It is insanity. > > Who said anything about using an infinitude of implementations? The language forces this, because Ada is incapable to abstract implementation from the interface in many cases. Array interface is among them. > The > array-based one is good for most short/simple string handling; but it's > rather unsuitable for add-/delete-operation intensive tasks (on > large-data) such as, say, a word-processor. Word processor does not operate strings, it does text buffers. Ropes are not good for text buffers. > And given the very reasonable assumption that some data using a > string[-and-pattern?]-manipulation package intends to do many such > operations it behooves us to use an implementation conducive to the > operations we will be performing. I don't see much use in string manipulation and even less in patterns. Again, it is almost impossible to find cases where manipulation or patterns were usable. Only very specialized patterns have any use. But the major obstacle is that such library is impossible to develop in a generic way to make it working for a cloud of classes of string types taking into account variations I have described. There is a huge number of such types. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de