Cet article est la version actualisée de l’article « Ada » rédigé par Daniel-Jean DAVID et paru dans nos éditions en 1983.
RECHERCHEZ parmi plus de 10 000 articles de référence ou pratiques et 4 000 articles d'actualité
PAR DOMAINE D'EXPERTISE
PAR SECTEUR INDUSTRIEL
PAR MOTS-CLES
NAVIGUER DANS LA
CARTOGRAPHIE INTERACTIVE
DÉCOUVREZ toute l'actualité, la veille technologique GRATUITE, les études de cas et les événements de chaque secteur de l'industrie.
Article précédent
Langage PythonArticle de référence | Réf : H2280 v2
Auteur(s) : Fabrice KORDON
Date de publication : 10 août 2017
Article suivant
FortranCet article fait partie de l’offre
Technologies logicielles Architectures des systèmes (225 articles en ce moment)
Cette offre vous donne accès à :
Une base complète et actualisée d'articles validés par des comités scientifiques
Un service Questions aux experts et des outils pratiques
Des Quiz interactifs pour valider la compréhension et ancrer les connaissances
Présentation
Lire l'article
Bibliographie & annexes
Inclus dans l'offre
Cet article est la version actualisée de l’article « Ada » rédigé par Daniel-Jean DAVID et paru dans nos éditions en 1983.
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.
This article provides a summary of Ada in its current state (2017). After briefly describing its original inception and its history, we focus on its main characteristics: a flexible typing mechanism that can be configured (especially for numeric representations), a built-in smart compilation mechanism, a concurrency model (mainly thread-oriented, but also usable for distributed computing via annex E), a genericity model (which inspired Java), and an object model.
Fabrice KORDON : Professeur à l’Université Pierre & Marie Curie
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), puis, depuis 1999, les ACATS (Ada Conformity Assessment Test Suite). Tout compilateur Ada ne peut se revendiquer comme tel qu’après avoir réussi avec succès ce test de conformité. Une telle procédure a été introduite avec Ada puisqu’il fut le premier langage standardisé par l’ISO.
On ne peut juger un langage sans en avoir une connaissance minimale. Nous nous bornerons dans cet article, à un minimum qui, s’il donne une idée des possibilités, ne se veut en aucun cas un apprentissage. Le lecteur désireux de programmer effectivement dans ce langage est invité à se référer aux nombreuses ressources accessibles en ligne, comme le “WikiBook” ou le manuel de référence du langage (plus indigeste mais très précis).
Computer | programming language | ADA
Vous êtes abonné à cette offre ?
Connectez-vous !
Vous souhaitez découvrir cette offre ?
Cet article est inclus dans l'offre :
TECHNOLOGIES LOGICIELLES ARCHITECTURES DES SYSTÈMES
Langage de programmation Ada. - ISO/CEI 8652 - 2012
Vous êtes abonné à cette offre ?
Connectez-vous !
Vous souhaitez découvrir cette offre ?
Cet article est inclus dans l'offre :
TECHNOLOGIES LOGICIELLES ARCHITECTURES DES SYSTÈMES
DÉTAIL DE L'ABONNEMENT :
TOUS LES ARTICLES DE VOTRE RESSOURCE DOCUMENTAIRE
Accès aux :
Articles et leurs mises à jour
Nouveautés
Archives
Articles interactifs
Formats :
HTML illimité
Versions PDF
Site responsive (mobile)
Info parution :
Toutes les nouveautés de vos ressources documentaires par email
DES ARTICLES INTERACTIFS
Articles enrichis de quiz :
Expérience de lecture améliorée
Quiz attractifs, stimulants et variés
Compréhension et ancrage mémoriel assurés
DES SERVICES ET OUTILS PRATIQUES
Votre site est 100% responsive,
compatible PC, mobiles et tablettes.
FORMULES
Formule monoposte | Autres formules | |
---|---|---|
Ressources documentaires | ||
Consultation HTML des articles | Illimitée | Illimitée |
Quiz d'entraînement | Illimités | Illimités |
Téléchargement des versions PDF | 5 / jour | Selon devis |
Accès aux archives | Oui | Oui |
Info parution | Oui | Oui |
Services inclus | ||
Questions aux experts (1) | 4 / an | Jusqu'à 12 par an |
Articles Découverte | 5 / an | Jusqu'à 7 par an |
Dictionnaire technique multilingue | Oui | Oui |
(1) Non disponible pour les lycées, les établissements d’enseignement supérieur et autres organismes de formation. |
||
Formule 12 mois 2 060 € HT |
Autres formules |
INTRODUCTION
1 - COMPOSANTES D’UN PROGRAMME ADA
4 - STRUCTURATION D’UN PROGRAMME
Information
Quiz d'entraînement bientôt disponible
TECHNIQUES DE L'INGENIEUR
L'EXPERTISE TECHNIQUE ET SCIENTIFIQUE
DE RÉFÉRENCE
ÉDITION - FORMATION - CONSEIL :
Avec Techniques de l'Ingénieur, retrouvez tous les articles scientifiques et techniques : base de données, veille technologique, documentation et expertise technique
SOLUTION EN LIGNE
Automatique - Robotique | Biomédical - Pharma | Construction et travaux publics | Électronique - Photonique | Énergies | Environnement - Sécurité | Génie industriel | Ingénierie des transports | Innovation | Matériaux | Mécanique | Mesures - Analyses | Procédés chimie - bio - agro | Sciences fondamentales | Technologies de l'information
PAIEMENT
SÉCURISÉ
OUVERTURE RAPIDE
DE VOS DROITS
ASSISTANCE TÉLÉPHONIQUE
+33 (0)1 53 35 20 20