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=0.4 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,6aa1ec264ce25142 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.180.24.165 with SMTP id v5mr2312191wif.1.1346149244643; Tue, 28 Aug 2012 03:20:44 -0700 (PDT) Path: e9ni54785089wia.0!nntp.google.com!goblin2!goblin.stu.neva.ru!news.teledata-fn.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Tue, 28 Aug 2012 12:20:44 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Real syntax problems in Ada References: <1p5r39cusgc1n$.18nj9sytckk6$.dlg@40tude.net> In-Reply-To: <1p5r39cusgc1n$.18nj9sytckk6$.dlg@40tude.net> Message-ID: <503c9b7c$0$6572$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 28 Aug 2012 12:20:44 CEST NNTP-Posting-Host: e61518e1.newsspool3.arcor-online.net X-Trace: DXC=Q5=BGc]AIS?=FQB?mjjV50McF=Q^Z^V384Fo<]lROoR18kF:Lh>_cHTX3j=:FSR9c5Lfb7 X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Date: 2012-08-28T12:20:44+02:00 List-Id: On 28.08.12 10:13, Dmitry A. Kazakov wrote: > What are real problems with Ada syntax as opposed to the imaginary ones > (e.g. Ada does not look like C, Forth, Elder Futhark, you name it)? > > My short list: > > 1. Too many unnecessarily reserved keywords; I even avoid using identifiers that are reserved (in whichever way) in other programming languages. My list of identifiers excludes words such as "default", "fun", "sub", "otherwise", etc. > 4. "overriding procedure Foo" instead of "procedure Foo is overriding"; There seems to be a conflict, since we can overriding a procedure with one that "is null" or "is abstract". But we could write procedure Foo is overriding and abstract; > 5. "X : T := E", but "procedure X is "; While plausible, I'd rather test assignment of a procedure in a field that has a smaller percentage of doctors of science. Seriously; the idea being similar to what is done in Lisp (or ML's etc.), what is the proportion of all programmers (not just Lisp programmers) who are aware of Lisp's procedure binding? > 7. "exception" must be required in the bodies of tasks, Initialize, > Finalize (however, this could be resolved by non-syntactic means, e.g. by > contracted exceptions); I'll venture a guess: AdaCore would require a closer look at least, since GCC says it translates differently, depending on whether or not there is an exception handler.