# Programmation Ada

Ada est un langage de programmation qui a été normalisé en 1983 après avoir été conçu en réponse à un cahier des charges conçu par le DOD (département de la Défense) des États-Unis. En 1995, une nouvelle version de ce langage a été définie afin de renforcer la sécurité et les capacités concernant la programmation orientée objet. Une nouvelle version Ada2005 renforce les capacités du langage concernant la programmation orientée objet, la programmation concurrente et les bibliothèques prédéfinies.
Il doit son nom à Ada Lovelace. Il est associé à la couleur verte car l'équipe qui l'a conçu était l'équipe verte.
    Avancé

## Introduction

Ada est un langage à typage statique, modulaire et offrant une syntaxe claire inspirée de Pascal. Il est souvent utilisé dans des systèmes temps-réel nécessitant un haut niveau de fiabilité.
On trouve actuellement des compilateurs Ada de très bonne qualité pour toute sorte de système d'exploitation et d'architectures, y compris un compilateur libre. En effet, GNAT a été inclus dans GCC.

### Bref historique

1974 – Le Département de la Défense des États-Unis (DoD) réalise qu’il gaspille énormément d’argent en utilisant grosso modo un langage de programmation par application, et en entretenant des programmes écrits dans des langages obsolètes endémiques ou exotiques… Certaines sources avancent le chiffre de 500 langages de programmation employés en ces lieux. Le résultat de cette prise de conscience aboutit à l’élaboration en 3 ans du cahier des charges d’un unique langage, suffisamment souple et puissant pour remplacer tous les autres, du guidage de missile aux travaux sur l’intelligence artificielle.
1977 – Le DoD lance un appel d’offre remporté en 1979 par l'équipe CII-Honeywell Bull dirigée par le français Jean Ichbiah.
1980 – Le 10 décembre, anniversaire de la naissance de Lady Ada Lovelace en 1815, sort la norme militaire MIL-STD-1815 qui définit le langage Ada. Tous les logiciels militaires comportant au moins 30% de code nouveau ont l'obligation de se convertir à l'Ada.
1983 - Ada devient une norme civile américaine ANSI. La norme militaire est rééditée sous le numéro MIL-STD-1815A.
1987 - Ada devient une norme internationale, ISO/IEC 8652:1983.
1990 – À partir des améliorations apportées par les différents éditeurs de compilateurs commerciaux, l’ANSI débute un projet de révision du langage, appelé informellement "Ada 9X".
1992 - Le DoD et l'université de New York signent un contrat pour produire un compilateur Ada 9X libre, sous licence GPL. Le but est d'attirer des universitaires vers le langage, et de valider les changements proposés au langage. Le compilateur s'appelle GNAT pour GNU NYU Ada Translator (de nos jours, GNAT n'est plus considéré comme un acronyme).
1994 - L'équipe de l'université de New York qui a produit GNAT fonde la société Ada Core Technologies (aujourd'hui AdaCore), qui fournit des services professionnels autour de GNAT Les cinq fondateurs d'AdaCore travaillent toujours pour la société.
1995 – La norme ISO 8652:1995 définit le langage Ada 95, une révision majeure avec en particulier la programmation orientée objet et une refonte du multitâche.
1998 - Fin de l'obligation d'utiliser Ada dans les nouveaux logiciels militaires. La raison : Ada a rempli sa mission, le nombre de langages utilisés dans l'ensemble du DoD étant passé de 470 à 37, soit une réduction de plus de 90%. La nouvelle doctrine du DoD est d'acheter autant que possible des logiciels du commerce, quel que soit le langage utilisé.
2001 - En Octobre, GNAT, toujours entretenu par AdaCore, est intégré dans GCC. Toutes les versions de GCC depuis la 3.1 contiennent GNAT. Un "Technical Corrigendum" publié par l'ISO apporte des modifications mineures et des clarifications à la norme.
2002 - Les travaux de normalisation reprennent pour améliorer le langage de façon plus substantielle, sous la forme d'un amendement. Le langage est appelé informellement "Ada 200Y". Comme lors du cycle précédent (1992-1995), les améliorations proposées sont graduellement intégrées dans GNAT.
2006 - Les travaux de normalisation prennent fin en mai, la procédure de normalisation entre en phase purement administrative.
2007 - Enregistrement (le 9 mars) auprès de l'ISO de la nouvelle norme, dont le nom officiel est "ISO 8652:1995 with corrigendum 1 and amendment 1". Quelque temps auparavant, il a été décidé d'appeler le langage Ada 2005, en référence à date de la fin du travail technique.

### Compilateurs

Des compilateurs natifs ou croisés existent pour de nombreuses plates-formes. Voici une liste alphabétique.
| Compilateur | Société éditrice | Prix | Libre | Remarques |
| AdaMagic | SofCheck | $$$$ (?) | non | traducteur vers C |
| AppletMagic | SofCheck | $$$$ (?) | non | produit du bytecode Java |
| AdaMulti | Green Hills Software | $$$$$ | non | pour l'embarqué |
| GCC | Free Software Foundation | gratuit | oui | mêmes sources que GNAT |
| GNAT GPL | AdaCore | gratuit | oui | natif |
| GNAT Pro | AdaCore | $$$$$ | oui | natif et croisé |
| ICC | Irvine Compiler Corporation | $$$$$ | non | pour l'embarqué |
| Janus/Ada | RR Software | $$$ | non | natif |
| ObjectAda | Aonix | $$$; évaluation gratuite | non | natif et croisé |
| Power Ada | OC Systems | $$$$$ (?) | non | pour l'embarqué |
| Rational Apex | IBM Rational | $$$$$ | non | natif et croisé |
| SCORE | DDC-I | $$$$$ | non | pour l'embarqué |
(ajouter les liens, problème avec le serveur en ce moment)
Les compilateurs les plus chers ($$$$$, plus de 10 000 euros) sont livrés avec des noyaux d'exécution certifiés pour les applications les plus critiques (avionique, centrales nucléaires, etc.) Janus/Ada et ObjectAda coûtent moins de 1000 euros et conviennent aux applications moins exigeantes comme la bureautique, les jeux ou les applications d'entreprise.
GNAT Pro et GCC sont construits à partir des mêmes sources, qui sont disponibles sous licence GPL. Cependant ils ont des cycles de développement différents ; GNAT Pro est en général en avance en ce qui concerne Ada, et GCC en avance en ce qui concerne les optimisations faites par le dorsal. AdaCore intègre les améliorations de GNAT Pro dans GCC de façon régulière.

## FAQ: Foire Aux Questions de fr.comp.lang.ada

* Généralités
* Le langage Ada
* Bibliothèques
* Compilateurs et outils
* Sociétés et fournisseurs liés à Ada

## Liens externes

* Association Ada-France
* fr.comp.lang.ada