Aller au contenu

Ada (langage)

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

Ada
Logo.

Date de première version 1980
Paradigme orienté objet
Auteur équipe deCII Honeywell Bull
Typage statique
Influencé par Algol 68
Pascal
Modula-2
C++
Smalltalk
Java
Eiffel
ALGOL 60(en)
Green(d)
Ada 95(d)Voir et modifier les données sur Wikidata
Système d'exploitation Windows,Linux,FreeBSD,macOS,VxWorks
Site web www.adaic.orgVoir et modifier les données sur Wikidata
Ada Lovelace (1840).

Adaest unlangage de programmationorienté objetdont les premières versions remontent au début desannées 1980.La dernière version publiée est Ada 2022.

Présentation[modifier|modifier le code]

Ada[1]est unlangage de programmationconçu par l’équipe deCII-Honeywell Bulldirigée parJean Ichbiahen réponse à uncahier des chargesétabli par ledépartement de la Défense des États-Unis(DoD). Les premiers travaux autour du projet ont commencé à la fin des années 1970[2]et dès 1979 unpreliminary ADA referencemanualest publié dans la revue duSpecial Interest Group on Programming Languagesde l'ACM[3].La première version validée du projet sort au début desannées 1980sous le nom d'Ada 83.

Pour développer le langage, l'équipe de Jean Ichbiah s'est inspirée de son précédent langage LIS (Langage d'Implémentation de Systèmes), conçu à laCIIpour permettre le développement desystèmes d'exploitationportables (à 95 %, disait Ichbiah).

Ada 83 a été ensuite repris et amélioré au milieu desannées 1990pour donner Ada 95, le secondlangage objetnormalisé de manière internationale (publié en,il est précédé de peu parCommon Lisp,publié en). Sous les auspices de l’Organisation internationale de normalisation(ISO), le langage a bénéficié d'un amendement, Ada 2005, puis d'une nouvelle révision appelée Ada 2012.

Le nom « Ada » a été choisi en l’honneur d’Ada Lovelace,sans doute la première informaticienne de l’histoire. Il est associé à la couleur verte car, lors de l’appel d’offres 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[4].

Voici quelques particularités d’Ada:

Il est souvent utilisé dans dessystèmes temps réeletembarquésnécessitant un haut niveau de fiabilité et de sécurité. De nos jours, Ada est employé bien sûr par son initiateur, mais aussi dans toutes lestechniques de pointe:en France, l’automobile, les transports ferroviaires (Alstom,Siemens Mobility,Ansaldo STS), les technologies aéronautiques (Thales Land and Air Systems,Thales Avionics,Airbus,Airbus Defence and Space) et les technologies spatiales (Thales Alenia Space,ArianeGroup,CNES,Arianespace).

En2013,il est possible de trouver descompilateursAda pour certainssystèmes d’exploitation(Windows,Linux,VxWorks) etarchitectures matérielles,y compris un compilateur libre (GNAT,inclus dansGNU Compiler Collection) compilant de l’Ada 83/95/2005/2012.

Ada est parfois utilisé en introduction aux cours deprogrammation informatiqueavancée[5],et il peut être utilisé pour les cours d'introduction à laprogrammation[6].

Autres langages dans la mouvance Ada[modifier|modifier le code]

Ada est inspiré du langagePascaldont il a repris tant l'esprit de la syntaxe que de l'architecture. Le langage Ada a inspiréBertrand Meyerpour la conception du langageEiffel,qui a ajouté des notions de programmation par contrat (mais se montre moins adapté à l'industrie sous certains aspects). La notion deprogrammation par contrat,formalisée par Bertrand Meyer avec Eiffel, a amené la création d'une extension au langage Ada,SPARK(en),pour lui faire supporter des notations permettant d'exprimer desassertionscontractuelles dans les spécifications. La programmation par contrat (des sous-programmes ou des types d'objets) est finalement intégrée dans la version Ada 2012.

Ada a inspiré le langagePL/SQLdans le domaine desbases de données,ainsi que le langageVHDLpour les architectures matérielles.

Le langage Ada est également à la base de la conception des différents langages de la normeCEI 61131-3,en particulier la partie déclarative commune à tous les langages et le langage ST (texte structuré).

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

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

withAda.Text_IO;-- Bibliothèque

-- Déclaration de la procédure "Hello"
procedureHellois
begin
-- Imprimer "Hello, world!" à l'écran
Ada.Text_IO.Put_Line("Hello, world!");
endHello;

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

Bref historique[modifier|modifier le code]

  • 1974:ledépartement de la Défenseaméricains'aperçoit qu’il gaspille énormément d’argent en utilisantgrosso modounlangage de programmationpar application, et en entretenant des programmes écrits dans des langages obsolètes endémiques ou exotiques. Certaines sources avancent le chiffre de500 langagesde programmation employés en ces lieux.
    Le résultat de cette prise de conscience est l’élaboration, en trois 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 missiles ou les travaux sur l’intelligence artificielleen passant par les applications de gestion.
  • 1977:le département lance un appel d’offres, remporté par une équipe dirigée par le FrançaisJean Ichbiah.
  • 1980:Jean Ichbiahfonde la compagnieAlsys(anglais:Ada Language Systems).
  • 1983:Ada83 est normalisé auxÉtats-Unispar l’ANSI(ANSI/MIL-STD-1815A-1983).
  • 1987:Ada83 fait l’objet de lanorme internationaleISO8652:1987.
  • 1990:à partir des améliorations apportées par les différents développeurs decompilateurs,l’Ada Joint Program Office lance un projet de révision du langage.
  • 1991:Alsysest revendu à Thomson-CSF et devient TSP (Thomson Software Products).
  • 1992:un contrat est passé entre le comité de révision (Ada9X Program Office) et l’Université de New Yorkpour le développement d’un compilateur de référence pour le nouveau langage, qui seralibrementdisponible. Ce compilateur,GNAT,est basé sur la technologieGCCdeGNU.
  • 1994:la sociétéAda Core Technologies(aujourd’huiAdaCore) est fondée par les membres du projetGNATpour 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/CEI8652:1995. Ada95 est le premier langage mettant en œuvre laprogrammation orientée objetà faire l’objet d’une normeISO.Le compilateurGNATcouvre l’intégralité de la norme Ada95, y compris l’ensemble de ses annexes optionnelles.
  • 1996:TSP devient Aonix[7].
  • 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.
  • 2003:un rapport duSoftware Engineering Institute(en)prédit la mort du langage Ada malgré sa supériorité sur les autres[8].
  • 2007:l'ISO publie l'Amendement 1 au langage qui introduit de nouvelles fonctions et officialise de nombreuses améliorations proposées initialement par les différents développeurs de compilateurs. Cette version du langage porte le nom d'Ada 2005, année durant laquelle l'Amendement fut figé pour publication par l'ISO.
  • 2012:l'ISO publie une nouvelle révision de la norme (Ada 2012), qui apporte notamment des facilités syntaxiques, laprogrammation par contrat,le support des architecturesmulti-cœurs,et une extension de la bibliothèque prédéfinie.
  • 2016:Parution d'un corrigendum technique à Ada 2012
  • 2 mai 2023: sortie de la norme ISO/IEC 8652:2023 qui fournit les spécifications d'Ada 2022[9],[10].

Voir aussi[modifier|modifier le code]

Articles connexes[modifier|modifier le code]

Sur les autres projets Wikimedia:

  • GNAT(compilateur Ada libre)
  • MaRTE OS(système d'exploitation temps réel écrit en Ada)

Liens externes[modifier|modifier le code]

Bibliographie[modifier|modifier le code]

Notes et références[modifier|modifier le code]

  1. «What About Ada? The State of the Technology in 2003»(Archive.orgWikiwixArchive.isGoogleQue faire?).
  2. (en)Jean D.Ichbiah,BerndKrieg-Brueckner,Brian A.Wichmannet John G. P.BarnesRationale for the design of the Ada programming language»,ACM SIGPLAN Notices,vol.14,no6b,‎,p.1–261(ISSN0362-1340et1558-1160,DOI10.1145/956653.956654,lire en ligne,consulté le)
  3. (en)J. D.IchbiahPreliminary Ada reference manual»,ACM SIGPLAN Notices,vol.14,no6a,‎,p.1–145(ISSN0362-1340et1558-1160,DOI10.1145/956650.956651,lire en ligne,consulté le)
  4. Maurice Arvonny, «Parlez-vous l'Ada?»,Le Monde,‎,p.15
  5. «Enseigner Ada (pourquoi?, à qui?, comment!)», surd.feneuille.free.fr(consulté le).
  6. C'est le cas au sein de l'école d'ingénieur française INSA de Toulouse. Voirle programme détaillé«Copie archivée»(version dusurInternet Archive).
  7. Greffe du tribunal de commerce de Nanterre, 380 249 003 RCS Nanterre
  8. [PDF]rapport.
  9. «ISO/IEC 8652:2023», surISO(consulté le)
  10. Luís Miguel Pinho, «From the Editor’s Desk»,Ada letters,vol.XLIII,no1,‎(ISSN1094-3641,lire en ligneAccès libre[PDF])