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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,6aa1ec264ce25142 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.66.89.196 with SMTP id bq4mr3028872pab.26.1346160433895; Tue, 28 Aug 2012 06:27:13 -0700 (PDT) Path: a8ni83551876pbd.1!nntp.google.com!news.glorb.com!aioe.org!.POSTED!not-for-mail From: "Vasiliy Molostov" Newsgroups: comp.lang.ada Subject: Re: Real syntax problems in Ada Date: Tue, 28 Aug 2012 17:27:12 +0400 Organization: None Message-ID: References: <1p5r39cusgc1n$.18nj9sytckk6$.dlg@40tude.net> NNTP-Posting-Host: Xw13RWgh8yxgPSv0x3+H9w.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.01 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable Date: 2012-08-28T17:27:12+04:00 List-Id: Agree, some relatively new enhancements to Ada syntax look awkward. Dmitry A. Kazakov =D0=BF=D0=B8=D1=81=D0=B0=D0= =BB(=D0=B0) =D0=B2 =D1=81=D0=B2=D0=BE=D1=91=D0=BC =D0=BF=D0=B8=D1=81=D1=8C= =D0=BC=D0=B5 Tue, = 28 Aug 2012 12:13:08 +0400: > What are real problems with Ada syntax as opposed to the imaginary one= s > (e.g. Ada does not look like C, Forth, Elder Futhark, you name it)? > > My short list: > > 1. Too many unnecessarily reserved keywords; Probably yes, but these are simply to grep/calculate using public codeba= se. > > 2. "end record" instead of "end "; Really, yes. > > 3. "task type" and "protected type" instead of "type T is task ..."; A first word of sentence in declaration is always an entity (procedure, = = function, package, type), it seems that "task type" breaks this way, and "type t is task" is more = = eye candy. > > 4. "overriding procedure Foo" instead of "procedure Foo is overriding"= ; I agree, this keyword has a scary place (a property before its entity, = which is not usual way in Ada), breaks eye on it. It seems that this one= = came from "virtual" kw from c++/java++, and the result of such incoming = is = very horrific. > > 5. "X : T :=3D E", but "procedure X is "; Unclear what it is, but should we use the same for T, or how to express = T = in this case? > > 6. Lack of per point notation for nD array aggregates, e.g. > Diag : Matrix :=3D ((1,1)=3D>1.0, (2,2)=3D>1.0, (3,3)=3D>1.0, othe= rs =3D> 0.0); Unclear, what is per point. > 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); Disagree. Exceptions can be disabled by configuration, while ravenscar c= an = allow tasking, a good example is a linux driver, where is no place in a = = thread to raise an ada exception up out from inside kernel. > > 8. The order in which the keywords "new", "interface", "limited", > "abstract", "tagged", "private" may appear should be free. > Unclear. Example?