Ada Comparison Chart
The following chart provides an overview of evolution of the major features of the Ada programming language.
Programming Structure, Modularity |
Ada 83 |
Ada 95 |
Ada 2005 |
Ada 2012 |
Packages |
√ |
√ |
√ |
√ |
Child units |
|
√ |
√ |
√ |
Limited with clauses and
mutually dependent specs |
|
|
√ |
√ |
Generic units |
√ |
√ |
√ |
√ |
Formal packages |
|
√ |
√ |
√ |
Partial parametrization |
|
|
√ |
√ |
Conditional expressions, Case expressions |
|
|
|
√ |
Quantified expressions |
|
|
|
√ |
In-out parameters for functions |
|
|
|
√ |
Iterators |
|
|
|
√ |
Object-Oriented Programming |
Ada 83 |
Ada 95 |
Ada 2005 |
Ada 2012 |
Derived types |
√ |
√ |
√ |
√ |
Tagged types |
|
√ |
√ |
√ |
Multiple inheritance of interfaces |
|
|
√ |
√ |
Named access types |
√ |
√ |
√ |
√ |
Access parameters, Access to subprograms |
|
√ |
√ |
√ |
Enhanced anonymous access types |
|
|
√ |
√ |
Aggregates |
√ |
√ |
√ |
√ |
Extension aggregates |
|
√ |
√ |
√ |
Aggregates of limited type |
|
|
√ |
√ |
Unchecked deallocation |
√ |
√ |
√ |
√ |
Controlled types, Accessibility rules |
|
√ |
√ |
√ |
Accessibility rules for anonymous types |
|
|
√ |
√ |
Preconditions, Postconditions, Type invariants |
|
|
|
√ |
Concurrency |
Ada 83 |
Ada 95 |
Ada 2005 |
Ada 2012 |
Tasks |
√ |
√ |
√ |
√ |
Protected types, Distributed annex |
|
√ |
√ |
√ |
Synchronized interfaces |
|
|
√ |
√ |
Delays, Timed calls |
√ |
√ |
√ |
√ |
Real-time annex |
|
√ |
√ |
√ |
Ravenscar profile, Scheduling policies |
|
|
√ |
√ |
Multiprocessor affinity, barriers |
|
|
|
√ |
Re-queue on synchronized interfaces |
|
|
|
√ |
Ravenscar for multiprocessor systems |
|
|
|
√ |
Scientific Computing |
Ada 83 |
Ada 95 |
Ada 2005 |
Ada 2012 |
Numeric types |
√ |
√ |
√ |
√ |
Complex types |
|
√ |
√ |
√ |
Vector/matrix libraries |
|
|
√ |
√ |
Standard
Libraries |
Ada 83 |
Ada 95 |
Ada 2005 |
Ada 2012 |
Input/output |
√ |
√ |
√ |
√ |
Elementary functions |
|
√ |
√ |
√ |
Containers |
|
|
√ |
√ |
Bounded Containers, holder containers, multiway trees |
|
|
|
√ |
Character
Support |
Ada 83 |
Ada 95 |
Ada 2005 |
Ada 2012 |
7-bit ASCII |
√ |
√ |
√ |
√ |
8/16 bit |
|
√ |
√ |
√ |
8/16/32 bit (full unicode) |
|
|
√ |
√ |
String Encoding package |
|
|
|
√ |