
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 |
| Packages |
√ |
√ |
√ |
| Child units |
|
√ |
√ |
| Limited with clauses and
mutually dependent specs |
|
|
√ |
| Generic units |
√ |
√ |
√ |
| Formal packages |
|
√ |
√ |
| Partial parametrization |
|
|
√ |
| Object-Oriented Programming |
Ada 83 |
Ada 95 |
Ada 2005 |
| 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 |
|
|
√ |
| Concurrency |
Ada 83 |
Ada 95 |
Ada 2005 |
| Tasks |
√ |
√ |
√ |
| Protected types, Distributed annex |
|
√ |
√ |
| Synchronized interfaces |
|
|
√ |
| Delays, Timed calls |
√ |
√ |
√ |
| Real-time annex |
|
√ |
√ |
| Ravenscar profile, Scheduling policies |
|
|
√ |
| Scientific Computing |
Ada 83 |
Ada 95 |
Ada 2005 |
| Numeric types |
√ |
√ |
√ |
| Complex types |
|
√ |
√ |
| Vector/matrix libraries |
|
|
√ |
| Standard
Libraries |
Ada 83 |
Ada 95 |
Ada 2005 |
| Input/output |
√ |
√ |
√ |
| Elementary functions |
|
√ |
√ |
| Containers |
|
|
√ |
| Character
Support |
Ada 83 |
Ada 95 |
Ada 2005 |
| 7-bit ASCII |
√ |
√ |
√ |
| 8/16 bit |
|
√ |
√ |
| 8/16/32 bit (full unicode) |
|
|
√ |