[comp.lang.ada] What is Ada9x?

841613t@aucs.AcadiaU.ca (Donald Tyzuk) (04/02/91)

So what is Ada9x?. (I am a know-nothing student, interested
in Ada).  8-)
-- 
Donald Tyzuk        UUCP:     {uunet|watmath|utai}!cs.dal.ca!aucs!841613t
P.O. Box 1406       BITNET:   841613t@Acadia
Wolfville, NS       Internet: 841613t@aucs.AcadiaU.CA   (131.162.1.51)
CANADA  B0P 1X0     (902) 542-9960    

mfeldman@seas.gwu.edu (Michael Feldman) (04/02/91)

In article <1991Apr1.203028.13158@aucs.AcadiaU.ca> 841613t@aucs.acadiau.ca (Donald Tyzuk) writes:
>So what is Ada9x?. (I am a know-nothing student, interested
>in Ada).  8-)
>-- 

Undoubtedly there are other readers, students and others, to whom 
this alphabet soup is equally impenetrable, so I'm posting this publicly.

Ada9x is the project sponsored by the Ada Joint Program Office (US
Dept. of Defense) to produce a revised Ada language standard.
Under ANSI rules, this project was started in 1988, 5 years after the original
standard was adopted (Jan. 1983).

In standards-speak, Ada9x means "revised Ada, to be adopted some time in
the 1990's." The "x" means "we're not sure what this digit will be."
The current project plan (see the transition plan I posted a couple of
weeks ago) is showing x=3, that is we'll see a revised Ada adopted in
1993.

If you'd like more info, write me by e-mail. Others more knowledgeable
than me in the Ada9x process are cordially invited to expand on my
brief note here.

I have no formal connection to the Ada9x group; I'm just a professor
who teaches a lot of Ada and likes it.

Mike Feldman

jls@rutabaga.Rational.COM (Jim Showalter) (04/03/91)

>So what is Ada9x?. (I am a know-nothing student, interested
>in Ada).  8-)

The next generation of Ada. The Ada 9x process consists roughly
of four phases:

1) Solicitation of Ada user feedback on desirable enhancements/changes
2) Mapping of that feedback into revised Ada syntax/semantics
3) Feedback on the proposed mapping, evaluation of implementation tradeoffs.
4) Standardization of the changes in a new LRM and ANSI/ISO standard

There are also some other tasks involved, such as evaluating implementation
tradeoffs when more than one possible mapping exists.

Step #1 is completed. Step #2 is in process, and the first cut at the
mapping documents (and accompanying rationale) are complete and in
distribution, starting step #3. A summary of some of the goodies:

1)  Inheritance and polymorphism.
2)  Subprogram types and variables.
3)  Lighter weight concurrency constructs called protected records.
4)  User-definable default initialization, finalization, copy, etc.
5)  User-definable attributes.
6)  Hierarchical program libraries (subsystems).
7)  Improved separate compilation features via child comp units.
8)  Distributed programming support.
9)  Hierarchical grouping of exceptions.
10) More flexible generic parameterization.
11) Assertions.
12) New constructs such as "when..raise" and named statements.

I like what I see. They've managed to graft support for some new and
powerful features onto the language in a remarkably upward-compatible
manner, preserve the spirit of Ada '83, and yet come up with a language
that is more powerful, flexible, dynamic, and extensible. And all with
strong typing and tight binding. Check it out.
--
***** DISCLAIMER: The opinions expressed herein are my own, except in
      the realm of software engineering, in which case I've borrowed
      them from incredibly smart people.