Ada (langage)
| Image manquante Langage_progr.png image:Langage_progr.png |
| Cet article fait partie de la série Langages de programmation |
| Langages à objets |
| Ada 95 - C++ - C# Common Lisp Delphi - Eiffel - Java Nice - Oz - Python Simula - Smalltalk Visual Basic |
| Langages impératifs |
| APL - ASP - Assembleur BASIC - C - COBOL Forth - FORTRAN - Logo Pascal - Perl - PHP |
| Langages fonctionnels |
| Erlang - Haskell ML/OCaml - Oz Lisp/Common Lisp Scheme |
| Langages déclaratifs |
| Clips - Oz - Prolog |
| Langages concurrents |
| Ada 95 - Erlang Java - Oz |
| Langages balisés |
| HTML - SGML - XML Dialectes XML S-expressions |
| Voir aussi |
| Conception - Codage Tests - Optimisations |
| Sommaire |
Présentation
Ada est un langage de programmation conçu en réponse à un cahier des charges établi par le Département de la Défense américain (DoD). Son développement a commencé au début des années 1980 pour donner Ada 83. Il a été ensuite repris et amélioré au milieu des années 1990, pour donner Ada 95, le premier langage objet standardisé de manière internationale. Sous les auspices de l'Organisation internationale de normalisation (ISO), le langage est en cours de révision (mineure), prévue sous la forme d'un amendement au standard en 2005.
Le nom Ada a été choisi en l'honneur d'Ada Lovelace. Il est associé à la couleur verte car l'équipe qui l'a conçu était l'équipe verte.
Ada est un langage à typage statique, modulaire et offrant une syntaxe claire non ambiguë inspirée de Pascal. Il est souvent utilisé dans des systèmes temps réel et embarqués nécessitant un haut niveau de fiabilité.
Actuellement (2002), il est possible de trouver des compilateurs Ada de très bonne qualité pour toutes sortes de systèmes d'exploitation et d'architectures, y compris un compilateur libre (GNAT, inclu dans GNU Compiler Collection).
Ada est souvent utilisé en introduction aux cours de programmation avancée.
Bref historique
1974 – Le département de la Défense américain 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 est 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 en passant par les applications de gestion.
1977 – Le département lance un appel d’offre remporté par une équipe dirigée par un français.
1983 – La première norme internationale ANSI définit intégralement le langage Ada83.
1990 – À partir des améliorations apportées par les différents marchands de compilateurs commerciaux, l’ANSI lance un projet de révision du langage.
1995 – La révision tant attendue arrive à son terme, Ada95 voit le jour. Le compilateur GNAT qui couvre l'intégralité de la norme Ada95 est librement disponible. Il est ensuite racheté par la société Ada Core Technologies qui le maintient, en collaboration avec les développeurs actuels de GNU Compiler Collection, le conservant libre.
2004 – De nos jours, Ada95 est employé, bien sûr par son initiateur, mais aussi dans toutes les technologies de pointes : l’automobile française, les transports ferroviaires (TGV, Corail), les technologies aéronautiques (Thales Avionics) et les technologies spatiales (Alcatel Space, CNES, Arianespace).
2005 – Une révision de routine officialisant les meilleures améliorations du langage est attendue. Elle devrait ajouter à la norme son lot de nouvelles fonctionnalités.
Lien externe
- Ada France : cette association organise un concours tous les ans avec des prix conséquents (1500 € pour le premier prix.)
- Les pages libres d'ACT : AdaCore propose ici en téléchargement ses outils GPL notamment le compilateur GNAT et l'environnement de développement GPS.
- GNAT : un compilateur Ada libre
Bibliographie
- John Barnes (2000), Programmer en Ada 95, ISBN 2-7117-8651-X
