ADA

Ajouter à la bibliothèque

H2280 V2 Article de référence

ADA

Auteur(s) : Fabrice KORDON

Date de publication : 10 août 2017 | Read in english

Ajouter à la bibliothèque Ajouter à la bibliothèque

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter un extrait gratuit

Déjà abonné ?

Présentation

RÉSUMÉ

L'objectif de cet article est de présenter sommairement le langage Ada dans son état actuel (2017). Après un bref rappel des conditions particulières de sa création et de son historique, les fonctions principales offertes aux programmeurs sont présentées, à savoir : un système de typage souple et configurable (en particulier pour la représentation des nombres), un système intégré de compilation séparé, un modèle de concurrence (plutôt orienté thread mais aussi en réparti avec l'annexe E), un modèle de généricité (qui a inspiré celui de Java) et un modèle objet.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l'article

AUTEUR(S)

 INTRODUCTION

Issu d'un projet lancé par le Département de la Défense des États-Unis, le langage Ada a été construit comme un langage idéal et adapté à des projets de grande envergure. Toutefois la grande complexité d'Ada a nui à son développement et à son utilisation dans des projets moins importants.

Les ambitions du langage Ada sont grandes, puisque l'idée était de le substituer à tous les langages utilisés à l’époque par le Département de la Défense des États-Unis. Le langage devait également être portable (la compatibilité ascendante a bien été maintenue dans les révisions successives) et visait à une universalité des applications, offrant un vaste panel de mécanismes permettant de réaliser des systèmes embarqués comme des programmes de calcul scientifique. Cette caractéristique est toujours vérifiée aujourd’hui au travers de nombreuses annexes dédiées aux différents domaines d’application visés.

Un accent particulier a été mis sur le support du parallélisme (notions de tâches en 1983, puis d’objets protégés en 1995) et sur la modularité (notion de package dès 1983). La première version introduit également un mécanisme de généricité très abouti qui servira, vingt ans plus tard, de modèle à celle proposée dans Java (mais avec des mécanismes d’implémentation différents). La première mouture du langage n’était pas objet (on dit cependant qu’elle était “basée objet”, certains concepts étant déjà présents au travers de la notion de package). La révision de 1995 introduisit cette notion, malheureusement avec une terminologie non standard (une classe est définie comme un “type étiqueté”), ce qui n’en fit pas vraiment la publicité.

Ada est fortement typé, s’inspirant en cela de langages comme Pascal. Les contraintes de type doivent être résolues lors de la compilation. C’est une caractéristique importante d’Ada dont la philosophie peut être résumée par, “si cela compile, une grande partie des problèmes de traitements sont résolus”. Le contrôle statique du typage lors de la compilation est complété par du code inséré par le compilateur en vue de tester toutes les expressions pendant l’exécution. Ainsi, si des problèmes impossible à contrôler lors de la compilation subsistent (e.g. dépassement de capacité sur des entiers ou d’indices dans des tableaux), ils sont rattrapés à l’exécution exactement aux moments où ils surviennent et non, par observation des effets du problème. Un mécanisme assez fin d’exception permet de signaler de tels problèmes (usage d’exceptions prédéfinies dédiées).

Enfin, la conformité des compilateurs a de tout temps été contrôlée au moyen de jeux de tests complets déterminant le comportement (normal et en cas d’erreurs) des compilateurs : les ACVC ( Ada Compiler Validation Capability...

Cet article est réservé aux abonnés
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés. Il vous reste 92 % à découvrir.

Cet article est réservé aux abonnés Consulter un extrait gratuit

Déjà abonné ?


MOTS-CLÉS

Informatique   |   langage de programmation   |   ADA

VERSIONS

Il existe d'autres versions de cet article :

DOI (DIGITAL OBJECT IDENTIFIER)

https://doi.org/10.51257/a-v2-h2280

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

( 408 articles )

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Services

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir le détail de l'offre

Dans les ressources documentaires

Langage UML : développement de logiciel et modélisation visuelle

Le langage UML (pour Unified Modeling Language) est un langage graphique de modélisation des systèmes log...

Plate-forme .NET

Le .NET Framework, qui permet la création et l’exécution d’applications modernes conçues autour des stand...

Dynamique du management des projets informatiques

Les projets informatiques se déroulent habituellement en trois phases : la phase de conception, la phase ...

Tous les livres blancs
Toutes les actualités

Inscrivez-vous aux newsletters !

Contactez-nous