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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c406e0c4a6eb74ed X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!proxad.net!news.cs.univ-paris8.fr!informatik.uni-bremen.de!cs.tu-berlin.de!uni-duisburg.de!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: ADA Popularity Discussion Request Date: Tue, 14 Sep 2004 15:57:21 +0000 (UTC) Organization: GMUGHDU Message-ID: References: <49dc98cf.0408110556.18ae7df@posting.google.com> <17sx057ro5jw5$.t2qlaeoxg611$.dlg@40tude.net> <1095082522.132276@master.nyc.kbcfp.com> <18ym85v67zof3$.7oqswzjfgswr.dlg@40tude.net> <1095090665.624419@master.nyc.kbcfp.com> <68zmgy3b894u.rs67cy6jjfiq$.dlg@40tude.net> <11tjdpsch74g0.158lc7jpe3vz5$.dlg@40tude.net> NNTP-Posting-Host: l1-hrz.uni-duisburg.de X-Trace: a1-hrz.uni-duisburg.de 1095177441 1940 134.91.1.34 (14 Sep 2004 15:57:21 GMT) X-Complaints-To: usenet@news.uni-duisburg.de NNTP-Posting-Date: Tue, 14 Sep 2004 15:57:21 +0000 (UTC) User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (HP-UX/B.11.00 (9000/800)) Xref: g2news1.google.com comp.lang.ada:3724 Date: 2004-09-14T15:57:21+00:00 List-Id: Dmitry A. Kazakov wrote: :> (No matter in what language.) If all of them are :> isolated in some module(s), where's the problem. : : The problem is a geometric explosion of interfaces in cases like: : : procedure Connect : (DB : in out Data_Base; Server, Name, Password : String); This is very much a procedure doing I/O. You cannot expect this to work at an abstract level without hiding the outside world, can you? And on the other hand, you have to serve the outside world what it is expecting. If you use String values for the network database connection credentials, what will be the interpretation of of a Character value with 'pos > 127? UTF-8? ISO-8859-1? Are you connecting to DB2 on a mainframe? To what extent is switching back and forth between Standard.String and (Un)Bounded strings a problem? Where does it happen? Locally? At I/O boundaries? If you store strings in one internal representation in your program how many parameter profile variants will there be? Would you also want a polymorhpic number type with automagic conversion? : For the user point of view, what is the difference between String and : Unbounded_String to require explicit conversions between them? Isn't it an : implementation detail? The difference is the same as the difference between an array of fixed size and a list. I guess that humans are more accustomed to character lists than to something_else lists. Have you recently read any complaints about fixed size arrays of something_else in Ada? :> Is it an :> aesthetical problem to have to use Ada's verbosity with strings? : : With strings it becomes compelling. The problem is fundamental, Ada's : support of interface implementation is very rudimental. You cannot define : the interface of abstract characters and then the interface of an abstract : array of abstract characters. Where would these abstract interfaces be useful? Do you want to code convenient string conversion automagic to overcome notions of what an array of characters is, in Ada? :-) : And what will we do when Wide_Wide_String come? Use it. When string memory and 32 bit instructions instead of 8 bit instructions is no concern, use it everywhere. :-) -- Georg