Ada Programming/Ada 2012

This is an overview of the major features that are available in Ada 2012.

New syntax
Added 4 forms of expressions:
 * conditional expressions
 * case expressions
 * quantified expressions
 * expression functions

These additional expressions originated with new support for contract based programming.

New keywords
Added 1 keyword (73 total)

New pragmas
Added 5 pragmas:

Note that all these pragmas except born obsolescent, and it is recommended to use them as aspects instead.

New aspects
Aspect specifications is a new feature of Ada 2012. While some aspect identifiers are completely new, others were present in previous versions of the language as aspect-related pragmas or attribute-definition clauses. Note that for these pragmas, in some cases the old pragma identifiers are marked as obsolescent, while in other cases the usage of the pragma is still the recommended approach.

Added 18 aspects:
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)
 * (also added as an obsolescent pragma)

Aspect specifications already present in previous versions of the language as pragmas:
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)
 * (pragma now obsolescent)

Aspect specifications already present in previous versions of the language as attribute definition clauses:

New attributes
Added 5 attributes:

New packages

 * Multiprocessing:


 * Real-time:


 * OS facilities:


 * Iterators:


 * Text handling:


 * Container library:

Wikibook

 * Ada Programming/Ada 83
 * Ada Programming/Ada 95
 * Ada Programming/Ada 2005

Pages in the category Ada 2012

 * /Ada 2012 feature

Papers and presentations

 * Towards Ada 2012: an interim report from the Ada Rapporteur Group, by Ed Schonberg (2010-06-17)
 * HD Video: An introduction to Ada 2012, presentation by Ed Schonberg (1h 02 min, 2012-10-16)

Rationale

 * Ada 2012 Rationale, by John Barnes
 * Introduction
 * Chapter 1: Contracts and Aspects
 * Chapter 2: Expressions
 * Chapter 3: Structure and Visibility
 * Chapter 4: Tasking and Real-Time
 * Chapter 5: Iterators, Pools, etc.
 * Chapter 6: Containers
 * Epilogue
 * Predefined Library

Ada Reference Manual

 * Ada Reference Manual, ISO/IEC 8652:2012(E) &mdash; Language and Standard Libraries
 * ISO/IEC 8652:2012 &mdash; Information technology &mdash; Programming languages &mdash; Ada (2012-12-10), same contents as the above link.
 * Annotated Ada Reference Manual, ISO/IEC 8652:2012(E) &mdash; Language and Standard Libraries (colored diffs)
 * List of Ada Amendment drafts

Ada Issues

 * Ada 2005 Issues

Implementations

 * Implementation of Ada 2012 Features in GNAT compiler

Press releases

 * Ada 2012 Language Standard Approved by ISO, by Ada Resource Association & Ada-Europe (2012-12-18) PDF
 * Ada 2012 Language Standard Submitted to ISO, by Ada Resource Association & Ada-Europe (2012-06-12) PDF

|Ada 2012 *Ada 2012 *Ada 2012