comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Real syntax problems in Ada
Date: Tue, 28 Aug 2012 13:47:02 +0300
Date: 2012-08-28T13:47:02+03:00	[thread overview]
Message-ID: <aa3lt6ForjU1@mid.individual.net> (raw)
In-Reply-To: <1p5r39cusgc1n$.18nj9sytckk6$.dlg@40tude.net>

On 12-08-28 11: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:

And my opinions/votes:

> 1. Too many unnecessarily reserved keywords;

At least the reserved words tend to be short, and therefore not so
suitable for identifiers.

I believe that reserved words make it easier for compilers to give good
error messages.

> 2. "end record" instead of "end <record type name>";

I agree. The second form should be allowed.

> 3. "task type" and "protected type" instead of "type T is task ...";

Neutral. I don't much mind the asymmetry, although I don't see any good
reason for it.

> 4. "overriding procedure Foo" instead of "procedure Foo is overriding";

I prefer the current form, with overriding at the start. "Overriding" is
not a property of "Foo" itself, but of the declaration.

> 5. "X : T := E", but "procedure X is <body>";

I like the present form. The "procedure" and "function" keywords in the
left margin make the source code more readable. The role of subprograms
in a program is so different from the role of variables (objects) that a
different declaration style is motivated.

> 6. Lack of per point notation for nD array aggregates, e.g.
>    Diag : Matrix :=  ((1,1)=>1.0, (2,2)=>1.0, (3,3)=>1.0, others => 0.0);

Could be useful on occasion. Would be nice to have.

> 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);

Not really a question of syntax. Best handled by a legality rule.

> 8. The order in which the keywords "new", "interface", "limited",
> "abstract", "tagged", "private" may appear should be free.

Ok, why not. But the present strictness is at most a minor nuisance.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .



  parent reply	other threads:[~2012-08-28 10:47 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-28  8:13 Real syntax problems in Ada Dmitry A. Kazakov
2012-08-28 10:20 ` Georg Bauhaus
2012-08-28 10:47 ` Niklas Holsti [this message]
2012-08-28 11:33   ` J-P. Rosen
2012-08-31 13:35     ` Robert A Duff
2012-08-28 13:27 ` Vasiliy Molostov
2012-08-28 15:23   ` Dmitry A. Kazakov
2012-08-28 20:18     ` Vasiliy Molostov
2012-08-29  7:25       ` Dmitry A. Kazakov
2012-08-29 10:47         ` Vasiliy Molostov
2012-08-29 11:58           ` Dmitry A. Kazakov
2012-08-30 17:38             ` Vasiliy Molostov
2012-08-28 15:14 ` Adam Beneschan
2012-08-28 16:18   ` J-P. Rosen
2012-08-28 16:39   ` Dmitry A. Kazakov
2012-08-28 21:38     ` Randy Brukardt
2012-08-29  6:58       ` Dmitry A. Kazakov
2012-08-29 10:43         ` stefan-lucks
2012-08-29 10:58           ` stefan-lucks
2012-08-29 13:14           ` Niklas Holsti
2012-08-29 17:52             ` stefan-lucks
     [not found]             ` <fbps38pgcuf8fgioptt39s6u7dme1aqs7r@invalid.netcom.com>
2012-09-02 10:16               ` svaa
2012-08-29 13:33           ` Georg Bauhaus
2012-08-29 17:20             ` Jeffrey Carter
2012-08-29 17:51             ` stefan-lucks
2012-08-30  9:12               ` Georg Bauhaus
2012-08-28 21:49   ` Randy Brukardt
2012-08-28 23:09     ` Adam Beneschan
2012-08-29  7:34     ` Egil Høvik
2012-08-28 19:41 ` Florian Weimer
2012-08-28 20:53   ` Shark8
2012-08-28 21:07     ` Adam Beneschan
2012-08-28 21:25       ` Shark8
2012-08-28 22:59         ` Adam Beneschan
2012-08-29  7:06       ` Dmitry A. Kazakov
2012-08-30 21:08         ` Randy Brukardt
2012-08-30 22:06 ` sbelmont700
2012-08-30 22:34   ` Adam Beneschan
2012-08-30 22:54     ` William Findlay
2012-08-31  7:39     ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox