What is Ada 2005?
I thought that was called Ada 200Y or Ada 2006.
What's new in Ada 2005?
What didn't make the grade in Ada 2005?
How can I found out more about Ada 2005?
How can I get an electronic copy of the new Reference Manual?
How can I get a print copy of the new Reference Manual?
Ada 2005 is the informal name for the recent update to the Ada
language. Formally, it is embodied in an Amendment to the Ada standard (ISO/IEC 8652:1995). It has been
approved by the ISO/IEC standardization process and published as ISO/IEC 8652:1995/Amd 1:2007.
Various informal names have been proposed and used for this update.
The informal names of the different Ada versions traditionally
include the year of the publication of the Standard. An early guess was that would occur in
2005, but that proved to be overly optimistic. However,
2005 was the year during which most of the technical issues were decided, and WG 9, with
the input of the Ada community, has decided to use Ada 2005 as the name for now.
Remember that the official name of the language is just
“Ada” — that never changes. Informal names exist to allow readers
to tell the difference between the various versions of the Ada language. The
informal name for this version could be anything;
“Willywog Ada” would do just as fine. Ultimately, the community will
decide on an informal name to use consistently, and it could turn out to be
different than Ada 2005 (if different, most likely using the year of publication
of the standard, that is 2007, in some form).
The Introduction to the draft consolidated Ada Reference
Manual says the following:
The following significant changes with respect to the 1995
edition are incorporated:
- Support for program text is extended to cover the entire ISO/IEC 10646:2003
repertoire. Execution support now includes the 32-bit character set. See clauses
2.1, 3.5.2, 3.6.3, A.1, A.3, and A.4.
- The object-oriented model has been improved by the addition of an interface
facility which provides multiple inheritance and additional flexibility for type
extensions. See clauses 3.4, 3.9, and 7.3. An alternative notation for calling
operations more akin to that used in other languages has also been added. See
clause 4.1.3.
- Access types have been further extended to unify properties such as the
ability to access constants and to exclude null values. See clause 3.10. Anonymous
access types are now permitted more freely and anonymous access-to-subprogram
types are introduced. See clauses 3.3, 3.6, 3.10, and 8.5.1.
- The control of structure and visibility has been enhanced to permit mutually
dependent references between units and finer control over access from the private
part of a package. See clauses 3.10.1 and 10.1.2. In addition, limited types have
been made more useful by the provision of aggregates, constants, and constructor
functions. See clauses 4.3, 6.5, and 7.5.
- The predefined environment has been extended to include additional time and
calendar operations, improved string handling, a comprehensive container library,
file and directory management, and access to environment variables. See clauses
9.6.1, A.4, A.16, A.17, and A.18.
- Two of the Specialized Needs Annexes have been considerably enhanced:
- The Real-Time Systems Annex now includes the Ravenscar profile for
high-integrity systems, further dispatching policies such as Round Robin
and Earliest Deadline First, support for timing events, and support for control
of CPU time utilization. See clauses D.2, D.13, D.14, and D.15.
- The Numerics Annex now includes support for real and complex vectors and
matrices as previously defined in ISO/IEC 13813:1997 plus further basic operations
for linear algebra. See clause G.3.
- The overall reliability of the language has been enhanced by a number of
improvements. These include new syntax which detects accidental overloading,
as well as pragmas for making assertions and giving better control over the
suppression of checks. See clauses 6.1, 11.4.2, and 11.5.
A number of good ideas were not included in Ada 2005
because of technical issues, insufficient detail in their design, and lack of
manpower. It is thought that many of these ideas will be revisited the next time Ada
is revised.
- Aggregates for private types
(see AI-00389)
- Partial generic instantiations (for private types -
see AI-00359-04)
- Better support for IEC 559:1989 floating point
(see AI-00315)
- Additional defaults for generic formal parameters
(see AI-00299)
- Pre- and Post-conditions for subprograms
(see AI-00288)
- Type and package invariants
(see AI-00375)
- Better support for grouping of and data associated with exceptions
(see AI-00264)
- Sockets library
(see AI-00292)
Of course, a lot of bad or controversial ideas were discussed
and discarded as well. We're not going to enumerate them; they deserve to live in
anonymity.
A good place to start is the Ada 2005 Rationale for Ada 2005.
The Rationale provides an overview of Ada 2005 features, examples of their use,
compatibility with Ada 95, and more.
A number of articles on Ada 2005 were published in the
August 2006 issue of Crosstalk.
They include an overview of Ada 2005, specific discussions of its impact on
real-time and high-integrity applications, a look at using Ada with .NET, and
a peek into the design process of Ada 2005.
The September 2006 issue of Embedded Systems Design includes
Programming Real-Time with Ada 2005,
which introduces Ada 2005 real-time programming features assuming no prior knowledge of Ada.
For an look at the entire Ada language, including both old and new features,
John Barnes has updated his textbook; the new edition is Programming in Ada 2005.
Other textbooks on Ada 2005 also on the way. You can find out more about them on
our textbooks page.
Sometimes, it's best to just go to the horse's mouth. Ada Europe has sponsored a
combined version of the Ada standard that contains the text of all three documents
(the original Ada 95 standard, the 2001 Technical Corrigendum [bug fixes], and
the Amendment). You can find it in our standards section.
Finally, for those who must go to the source, drafts of the actual Amendment document
are available. The actual final standard has
to be purchased and is quite expensive; you can buy it
at ISO's publications site.
We don't recommend
reading the Amendment because it consists of changes to the earlier Ada 95 standard,
and thus it is rather incomplete. It's telling that the committee that designed Ada 2005
worked primarily from drafts of the combined version.
Electronic versions of the Ada 2005 Reference Manual are available on
this website. Print versions have been published by Springer, and should be available
from your favorite bookseller. See the article Accessing the Ada Language Reference Manuals
for more information on obtaining both electronic and print copies of the Ada 2005
Reference Manual.
|