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 check check check check
Child units   check check check
Limited with clauses and mutually dependent specs   check check
Generic units check check check check
Formal packages   check check check
Partial parametrization     check check
Conditional expressions, Case expressions       check
Quantified expressions       check
In-out parameters for functions       check
Iterators       check
Expression functions       check
Object-Oriented Programming Ada 83 Ada 95 Ada 2005 Ada 2012
Derived types check check check check
Tagged types   check check check
Multiple inheritance of interfaces   check check
Named access types check check check check
Access parameters, Access to subprograms   check check check
Enhanced anonymous access types     check check
Aggregates check check check check
Extension aggregates   check check check
Aggregates of limited type     check check
Unchecked deallocation check check check check
Controlled types, Accessibility rules   check check check
Accessibility rules for anonymous types     check check
Preconditions and postconditions       check
Type invariants       check
Subtype predicates       check
Concurrency Ada 83 Ada 95 Ada 2005 Ada 2012
Tasks check check check check
Protected types, Distributed Systems Annex   check check check
Synchronized interfaces   check check
Delays, Timed calls check check check check
Real-Time Systems Annex   check check check
Ravenscar profile, Scheduling policies     check check
Multiprocessor affinity, barriers       check
Requeue on synchronized interfaces       check
Ravenscar for multiprocessor systems       check
Scientific Computing Ada 83 Ada 95 Ada 2005 Ada 2012
Numeric types check check check check
Complex types   check check check
Vector/matrix libraries   check check
Standard Libraries Ada 83 Ada 95 Ada 2005 Ada 2012
Input/output check check check check
Elementary functions   check check check
Containers   check check
Bounded Containers, holder containers, multiway trees       check
Task-safe queues       check
Character Support Ada 83 Ada 95 Ada 2005 Ada 2012
7-bit ASCII check check check check
8/16 bit   check check check
8/16/32 bit (full unicode)   check check
String Encoding package       check