CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Ada (langage) - Wikipédia

Ada (langage)

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).
Pour les articles homonymes, voir Ada. 

image:Langage_progr.png
Cet article fait partie de la série
Langages de programmation
Langages à objets
C++ - C#
Delphi - Eiffel - Java
Groovy - Python - Ruby
Simula - Smalltalk
Visual Basic - WinDev
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Logo
Pascal - Limbo - Perl - PHP
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme
XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Langage de balisage
HTML - SGML - XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

Sommaire

[modifier] Présentation

Ada est un langage de programmation conçu par l’équipe dirigée par Jean Ichbiah 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 dispose maintenant d’une révision mineure appelée Ada 2005.

Le nom Ada a été choisi en l’honneur d’Ada Lovelace, qui est supposée avoir écrit le premier programme de l’histoire. Il est associé à la couleur verte car, lors de l’appel d’offre du DoD, les différentes propositions étaient désignées par des couleurs pour éviter tout biais, et l’équipe qui l’a conçu était l’équipe verte.

Voici quelques particularités d’Ada :

  • typage statique,
  • module par les paquetages et contrôle fin de la visibilité
  • syntaxe claire et non ambiguë (inspirée de celle du langage Pascal),
  • généricité,
  • traits temps réel intégrés au langage (tâches, objets protégés, interruptions),
  • bibliothèques standardisées, liens avec les autres langages,
  • annexes temps-réel avec le modèle ravenscar pour les systèmes sûrs,

Il est souvent utilisé dans des systèmes temps réel et embarqués nécessitant un haut niveau de fiabilité et de sécurité.

Actuellement (2006), il est possible de trouver des compilateurs Ada de très bonne qualité pour toutes sortes de systèmes d’exploitation (Windows, Linux, VxWorks) et d’architectures, y compris un compilateur libre (GNAT, inclu dans GNU Compiler Collection) compilant de l’Ada 83/95 (ainsi que quelques aspects de Ada 2005, surtout sa notation objet, mais sans êtres conforme à Ada 2005, bien que cela soit parfois prétendu par raccourci).

Ada est souvent utilisé en introduction aux cours de programmation avancée, et parce qu'il partage les mêmes qualités pédagogiques que le Pascal (dont il a hérité), Ada est même maintenant utilisé pour les cours d'introduction à la programmation.

[modifier] Autres langages dans la mouvance Ada

Ada est inspiré du Pascal dont il a repris tant l'esprit de la syntaxe que de l'architecture (surtout si on inclut Turbo Pascal). Le langage Ada a inspiré Bertrand Meyer pour la conception du langage Eiffel, qui y ajoute des notions de programmation par contrainte (mais se montre moins adapté à l'industrie sous certains aspects). La notion de programmation par contrat formalisé, par Bertrand Meyer avec Eiffel, a amené la création d'un projet d'extention d'Ada, pour lui faire supporter des notations permettant d'exprimer des assertions contractuelles dans les spécifications de package (ces extentions fonctionnent comme une surcouche, et sont traité par un preprocesseur).

[modifier] "Hello, world!" en Ada 95 ou Ada 2005

Un exemple courant pour montrer la syntaxe d’un langage est le programme Hello world :

with Ada.Text_IO;
use Ada.Text_IO; 
procedure Hello is
begin -- Hello
   Put_Line ("Hello, world!");
end Hello;

Il existe des raccourcis pour Ada.Text_IO.Put_Line nécessitant moins de caractères, mais il ne sont pas utilisés ici pour des raisons de compréhension. Pour des explications plus détaillées, vous pouvez consulter Wikibooks:Ada Programming/Basic.

[modifier] 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 langage unique, suffisamment souple et puissant pour remplacer tous les autres, que ce soit pour le guidage de missile ou les travaux sur l’intelligence artificielle en passant par les applications de gestion.

1977 – Le département lance un appel d’offres, remporté par une équipe dirigée par le Français Jean Ichbiah.

1983 – Ada83 est normalisé aux États-Unis par l’ANSI (ANSI/MIL-STD-1815A-1983).

1987 – Ada83 fait l’objet de la norme internationale ISO 8652:1987.

1990 – À partir des améliorations apportées par les différents développeurs de compilateurs, l’Ada Joint Program Office lance un projet de révision du langage.

1992 – Un contrat est passé entre le comité de révision (Ada9X Program Office) et l’Université de New York pour le développement d’un compilateur de référence pour le nouveau langage, qui sera librement disponible. Ce compilateur, GNAT, est basé sur la technologie GCC de GNU.

1994 – La société Ada Core Technologies (aujourd’hui AdaCore) est fondée par les membres du projet GNAT pour poursuivre la maintenance du compilateur et en assurer la commercialisation et le support.

1995 – La révision tant attendue arrive à son terme, Ada95 voit le jour. Une norme révisée est publiée, ISO/CEI 8652:1995. Ada95 est le premier langage orienté objets qui fait l’objet d’une norme internationale. Le compilateur GNAT couvre l’intégralité de la norme Ada95, y compris l’ensemble de ses annexes optionnelles.

2000 – L’Ada Conformity Assessment Authority (ACAA) publie un ensemble de corrections mineures accumulées au cours des cinq années précédentes : le Technical Corrigendum 1.

2004 – De nos jours, Ada95 est employé bien sûr par son initiateur, mais aussi dans toutes les technologies de pointes; en France, l’automobile, les transports ferroviaires (ALSTOM, Matra, CSEE) (TGV, Corail, RER, METEOR), les technologies aéronautiques (Thales Avionics, Airbus) et les technologies spatiales (Alcatel Space, CNES, Arianespace).

2005 – Un amendement à la norme est en préparation au sein du groupe de travail ISO responsable des normes Ada. Cet amendement introduit de nouvelles fonctionnalités et officialise de nombreuses améliorations proposées initialement par les différents développeurs de compilateurs. La révision du langage est officiellement adoptée et porte le nom Ada 2005.

[modifier] Liens externes

Voir aussi sur Wikilivres :
Programmation Ada.
  • Ada France : cette association organise un concours tous les ans avec des prix conséquents (1500 € pour le premier prix).
  • Developpez : Diverses ressources sur Ada.
  • Léa-Linux : Introduction au langage Ada.
  • Les pages libres d’AdaCore : 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.
  • Ada Confirmity Assessment Authority : ce groupe indépendant supervise la vérification de conformité des mises en œuvre du langage (autrefois appelé « validation ») et pilote le processus d’amendement et d’amélioration de la définition du langage.
  • Ada Programming/Ada 2005 : Un ouvrage librement disponible sur le nouvel amendement à la norme.
  • MIL-STD-1815

[modifier] Bibliographie

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com