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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1116ece181be1aea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-29 13:04:57 PST Path: news1.google.com!sn-xit-02!sn-xit-06!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Is the Writing on the Wall for Ada? Date: Mon, 29 Sep 2003 15:07:07 -0500 Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: <3F7024F8.1000102@crs4.it> <3F71A78A.5000701@crs4.it> X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 X-Complaints-To: abuse@supernews.com Xref: news1.google.com comp.lang.ada:204 Date: 2003-09-29T15:07:07-05:00 List-Id: "Russ" <18k11tm001@sneakemail.com> wrote in message news:bebbba07.0309280048.327a29a3@posting.google.com... > I think proposed new features should be evaluated in terms of > cost/benefit. The augmented assignment operators may not provide a > huge benefit, but their "cost" is virtually zero. Another Ada expert > on this forum called them "syntactic sugar" for procedure calls. That > being the case, they should be almost trivial to implement. For Pete's > sake, they are simply standard notation for very common standard > procedures! Explaining them to new Ada programmers should be trivial > too. I suspect most of them will be surprised to find out that Ada was > so primitive at one time as to not have such operators. I think you misunderstand what the cost of a change would be. Other than the most trivial changes (fixing spelling errors in the RM, changing the title of Annex H), there is a substantial cost to any change. This one falls in the middle somewhere. First of all, it would require substantial RM wording changes. Currently, operator symbols only are allowed as functions with one or two parameters. You're suggesting allowing procedures as well. Similarly, defining the meaning of these operators will also take substantial wording. I compared it to prefix calls, because the RM changes will be roughly the same. Similarly, the cost to implementors is also well above zero. Adding new symbols means changing the lexer (if any part of an Ada compiler is dust-covered, its that - I don't think anyone has looked at ours since 1993). There is also the resolution code, which will have to handle infix procedure calls. That could be anything from no work to quite a bit of work. Finally, some people consider any syntax changes to be expensive, because they affect tools as well as the compiler. Things like ASIS, compilation order tools, and the like, need updates when syntax changes. (I personally don't find this to be a giant deal, but remember that standardization is as much a polictical process as a technical one.) So, I'd categorize the cost as "medium-low". Certainly, there are a lot of proposals with higher costs, but there are plenty with lower costs (such as the 'Reduce and 'Machine_Rounding attributes). Now, redo your cost-benefit analysis with a more accurate assessment of the cost. Randy.