Ada 2012 is the current standard of the Ada programming language.
Ada 2012 is the current standard (as define by ISO/IEC 8652:2012) of the Ada programming language.
New in Ada 2012
Contract-based Programming
- Preconditions and postconditions define the expectations and obligations of a subprogram.
- Type invariants specify boundary constraints for objects of an encapsulated (private) type.
- Subtype predicates capture general constraints on data objects.
Concurrency and Multicore Support
- Task affinities and dispatching domains allow tasks to be mapped to specific CPUs or cores.
- Ravenscar for multiprocessor systems adapts a safe and widely used tasking profile to modern architectures.
Increased Expressiveness
- Expression functions offer a convenient way to express simple functions.
- Conditional expressions provide a compact notation for a common idiom.
- Quantified expressions for universal and existential forms specify predicates over arrays and containers.
Container Enhancements
- Bounded containers use stack allocation and do not incur the overhead of dynamic memory management.
- Task-safe queues and priority queues provide efficient implementations of synchronized structures.
- Holder containers create singleton structures for objects of an unconstrained type.
- Iterators provide familiar idioms with uniform syntax to search and manipulate arrays and containers.
See more