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,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!o13g2000cwo.googlegroups.com!not-for-mail From: "Jerry Coffin" Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) Date: 24 Mar 2005 18:33:14 -0800 Organization: http://groups.google.com Message-ID: <1111717994.708620.256180@o13g2000cwo.googlegroups.com> References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <1111607633.301232.62490@z14g2000cwz.googlegroups.com> <1111630601.976052.35580@g14g2000cwa.googlegroups.com> NNTP-Posting-Host: 165.236.235.120 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1111717999 16232 127.0.0.1 (25 Mar 2005 02:33:19 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 25 Mar 2005 02:33:19 +0000 (UTC) User-Agent: G2/0.2 Complaints-To: groups-abuse@google.com Injection-Info: o13g2000cwo.googlegroups.com; posting-host=165.236.235.120; posting-account=mZiOqwwAAAC5YZsJDHJLeReHGPXV5ENp Xref: g2news1.google.com comp.lang.ada:9950 comp.lang.c++:47158 comp.realtime:1702 comp.software-eng:5313 Date: 2005-03-24T18:33:14-08:00 List-Id: Robert A Duff wrote: [ ... ] > Yeah, that, too. C++ wraps all three things into one language > feature (well, sort of -- there are namespaces), whereas Ada > splits them out. I was a bit taken aback by Jerry Coffin's > "idiocy" remark, since I can see advantages of both ways. I > somewhat prefer the Ada "splitting" way. Or maybe his "idiocy" > comment was merely directed at the words: "tagged record". (Of > course, it's usually "tagged private", not "tagged record".) >>From a practical viewpoint, I've seen little real advantage to requiring another construct to control visibility -- though given the pre-existence of packages in Ada, continuing to use them when OO support was added can hardly be seen as a surprise. My real objection was (and is) entirely the terminology -- even in assembly language, I think 'tagged' would be better avoided in this situation as being far too closely tied to the implementation rather than the meaning. In anything that attempts to provide even slightly more abstraction, it strikes me as truly egregious. At the same time, I'll also admit that the spelling used for a keyword or two is rarely a good reason to condemn (or condone) an entire language. In the end, if somebody's reading or writing code in either Ada or C++, they should be sufficiently familiar with the language to get past minor things like this -- that, however, doesn't excuse the offense, but merely makes it easier to ignore. Furthermore, one of the advantages often claimed for Ada is readability to people who don't use the language on a regular basis -- but that doesn't seem (at least to me) to be the case here. I don't question Ada's expressiveness in a few specific areas, but IMO, calling it even "fair" would qualify as quite generous at least wrt to exception handling, object orientation or generics. I find this particularly interesting since among mainstream langauges it was essentially the first to support generics at all, and predated primarily by PL/I in exception handling. -- Later, Jerry. The universe is a figment of its own imagination.