comp.lang.ada
 help / color / mirror / Atom feed
From: anon@att.net
Subject: Re: Pondering what rationale behind record type
Date: Fri, 20 May 2011 06:10:50 +0000 (UTC)
Date: 2011-05-20T06:10:50+00:00	[thread overview]
Message-ID: <ir50l9$amo$1@speranza.aioe.org> (raw)
In-Reply-To: e49186b6-9c80-4788-a64f-dd9aba151f02@u26g2000vby.googlegroups.com

All specification for executable units that have both public and private 
declarations such as task and protected (since Ada 95) types have the 
same basic design. 


         <type> "type" <unit name> [ discriminant part ) is
                declaration section
          private
                declaration section
          end <unit name> 

And To change it to now for Ada 2012. For what reason?

The difference is the task and protected types defines an executable 
unit while normally type declarations define data objects. It is easier 
and less misunderstood to keep the two designs structures separate.

And I think it would cause a bigger problem in the Ada programming 
community. Too many design changes causes too many re-writes of existing 
code to use on newer systems. Plus, there's the learn curve which as been a 
big problem for Ada from the start. Every time someone learns a version
of Ada there's a new one coming out that contains too many changes with a  
few changes having no real reason for that change. That happen when Ada 
first came out. When programmers finally had a working knowledge of Ada 
83. Then Ada 95 comes out with some improvement and a lot of changes to 
Ada 83. And no concern or corrections for compiler checkable "Erroneous 
Errors". Some Ada programmers spent their time back learning the new 
rules and rewriting a lot of Ada 83 code. While others say too many new 
rules and drop Ada for a less altered language like as C. 

So, you could say this type of concepts is just another nail to hurt Ada.


In <e49186b6-9c80-4788-a64f-dd9aba151f02@u26g2000vby.googlegroups.com>, Anh Vo <anhvofrcaus@gmail.com> writes:
>Some time I am wondering why record type has different syntax pattern
>than the rest with respect to type ending text. That is it ends with
>'end record;' no matter what the identifier is. The rest of others end
>with 'end identifier'. Below are examples regarding this subject.
>
>type Data is record
>   X_Coord : Integer := 0;
>   Y_Coord : Integer := 0;
>    -- more components
>end record;
>
>task type Event_Monitor is
>    entry Start;
>    entry Process (...)
>end Event_Monitor;
>
>Anh Vo




      parent reply	other threads:[~2011-05-20  6:10 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-09 17:47 Pondering what rationale behind record type Anh Vo
2011-05-09 18:59 ` Adam Beneschan
2011-05-09 19:51   ` Niklas Holsti
2011-05-09 20:02     ` Dmitry A. Kazakov
2011-05-09 20:12       ` Anh Vo
2011-05-09 22:03         ` Georg Bauhaus
2011-05-10  7:45           ` Dmitry A. Kazakov
2011-05-10 10:12             ` Georg Bauhaus
2011-05-10 12:08               ` Dmitry A. Kazakov
2011-05-10 12:18                 ` Georg Bauhaus
2011-05-10 12:50                   ` Dmitry A. Kazakov
2011-05-10 14:20                     ` Martin
2011-05-11  7:32                       ` Dmitry A. Kazakov
2011-05-11  2:28                     ` Shark8
2011-05-11  7:32                       ` Dmitry A. Kazakov
2011-05-18 22:55                         ` Shark8
2011-05-19  8:12                           ` Dmitry A. Kazakov
2011-05-09 20:49   ` Randy Brukardt
2011-05-19  9:50 ` J-P. Rosen
2011-05-20  6:10 ` anon [this message]
replies disabled

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