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 |
|
|
|
√ |