# Ada Programming/Ada 2012


This is an overview of the major features that are available in **Ada
2012**, the most recent version of the Ada standard.

## Summary of what\'s new

### 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)

-   
-   
-   
-   
-   
-   
-   
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)

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

-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
-   
### New attributes

Added 5 attributes:

-   
-   
-   
-   
-   
### New packages

-   Multiprocessing:
    -   
    -   
```{=html}
<!-- -->
```
-   Real-time:
    -   
```{=html}
<!-- -->
```
-   OS facilities:
    -   
```{=html}
<!-- -->
```
-   Iterators:
    -   
```{=html}
<!-- -->
```
-   Text handling:
    -   
    -   
    -   
```{=html}
<!-- -->
```
-   Container library:
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
    -   
## See also

### Wikibook

-   Ada Programming/Ada 83
-   Ada Programming/Ada 95
-   Ada Programming/Ada 2005

### Pages in the category Ada 2012

-   Ada Programming}}/Ada 2012 feature

## External links

-   www.ada2012.org, website maintained by
    the Ada Resource Association.
-   Ada Answers: Ada
    2012
-   ISO/IEC JTC1/SC22/WG9 N498 (2009). *Instructions to the Ada
    Rapporteur Group from SC22/WG9 for Preparation of Amendment 2 to
    ISO/IEC 8652*

### 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 "wikilink")
    -   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) --- Language and
    Standard
    Libraries
    -   ISO/IEC 8652:2012 --- Information technology --- Programming
        languages ---
        Ada
        (2012-12-10), same contents as the above link.
-   **Annotated Ada Reference Manual**, ISO/IEC 8652:2012(E) ---
    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

2012 Ada Programming}}/Ada 2012\| \*Ada
2012 Ada Programming}}/Ada 2012 feature\|
