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,243dc2fb696a49cd X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada Popularity: Comparison of Ada/Charles with C++ STL (and Perl) Date: Mon, 27 Sep 2004 10:19:50 +0200 Message-ID: <115g0yola9l0t$.11f8io4hm9mma$.dlg@40tude.net> References: <13bv1aau5q9ht.1fr6ixcdql72.dlg@40tude.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de er8kkWu0zjinvM6FJYIRmwCOiXUx/Lwtvxp70LN1ueflckSBw= User-Agent: 40tude_Dialog/2.0.12.1 Xref: g2news1.google.com comp.lang.ada:4247 Date: 2004-09-27T10:19:50+02:00 List-Id: On 26 Sep 2004 00:17:13 -0700, Kevin Cline wrote: > "Dmitry A. Kazakov" wrote in message news:<13bv1aau5q9ht.1fr6ixcdql72.dlg@40tude.net>... >> On Fri, 24 Sep 2004 13:47:52 GMT, Matthew Heaney wrote: >> >>> And the reason why we have to write the subpgram is because Ada doesn't >>> give you any direct way of returning a reference to variable view from a >>> function, as C++ does. But even so, in Ada you can modify objets in >>> place (in AI-302 by using a downward closure -- which C++ doesn't have). >>> That's what really matters, not the syntax. >> >> Syntax does not matter. What matters is an ability to express an idea in >> the syntax you want. To me, the most natural syntax for modifying an array >> element is A(I) := B; > > This is how I develop C++ code. I start programming at a high-level, > writing code in the syntax I want to use. Then I write the code to > support the syntax. This works pretty well until I want to do > something like overload ".". I wished Ada had abstract record types. In some sense it has an embryo of that for protected types: protected type Object is function Member return A_Type; end Object; But it cannot be abstract, it is read-only etc. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de