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 | √ | |||
Expression functions | √ |
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 and postconditions | √ | |||
Type invariants | √ | |||
Subtype predicates | √ |
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 | √ | |||
Task-safe queues | √ |
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 | √ |