ISO approves Ada 2012 language standard
The International Organization for Standardization (ISO) has approved Ada 2012 language standard, according to a press release from Ada-Europe and the Ada Resource Association (ARA). ISO/IEC JTC 1 issued the formal approval on November 20th. Standards were published on December 15th.
A summary of the changes to ADA can be found at ARA's web site (www.ada2012.org/). Ada 2012's improvements include (according to this excerpt from ARA):
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.
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.
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.
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.
Note: the above bullet points are verbatim from www.ada2012.org/.
Ada 2012 is under the jurisdiction of ISO/IEC JTC1/SC22/WG9. The ARA and Ada-Europe were sponsors of the standards review, which was conducted by Ada Rapporteur Group (ARG) subunit of WG9.
Press release is available here from Ada-Europe.
Related content:
Jack Ganssle's “Ada gets a makeover”