L’ADA : Synthèse n°1

Qu’est ce que l’ADA ?

L’Ada est un langage de programmation de haut niveau qui a était créer 1970 et 1980 par l’US Department of Defense (DoD) pour répondre à des besoins critiques en matière de logiciel, notamment pour les systèmes embarqués, les systèmes temps réel et les applications de sécurité. Il représente l’aboutissement de la lignée des langages « classiques », impératifs et procéduraux. Il constitue essentiellement un effort de synthèse des meilleurs éléments figurant dans les langages qui l’ont précédé, intégrés dans un ensemble cohérent.

Il a été conçu d’après un cahier des charges, dont l’idée directrice est de diminuer le coût des logiciels, en tenant compte de tous les aspects du cycle de vie. Il a été utilisé avec succès dans des domaines aussi variés que le temps-réel, la gestion, la CAO, le traitement linguistique…

Ada est une norme internationale. Tous les compilateurs actuellement sur le marché ont été validés selon une procédure extrêmement rigoureuse qui assure leur conformité à la norme. Aucun sur-ensemble ni sous-ensemble n’est admis, afin de garantir la portabilité des applications.

Des études économiques ont montré que les projets en Ada coûtaient moins cher en développement, que leur phase d’intégration était plus courte, et qu’il restait moins d’erreurs résiduelles que dans des projets équivalents développés dans d’autres langages. Passer à Ada est avant tout une décision justifiée sur le plan économique comme sur celui de la sécurité.

Historique

1983

La première version du langage a été normalisée en 1983. Cette version établissait les principes fondateurs du langage, et bien peu de langages actuels offrent l’étendue des fonctionnalités qui figuraient déjà en Ada 83 : un typage réellement fort, des types numériques en point fixe, un contrôle strict de la modularisation, la gestion des exceptions, le parallélisme intégré au langage, les génériques, pour n’en citer que quelques-uns.

1995

Un processus de révision, commencé en 1988, a abouti à la publication officielle de la norme Ada95 le 15 février 1995. Cette version du langage a été définie après enquête auprès des utilisateurs, sous le contrôle vigilant des organismes internationaux. Ada 95 a été le premier langage orienté objet standardisé au niveau international, avec plus de trois ans d’avance sur le second (C++).

L’apparition d’Ada 95 a représenté un évènement majeur, en fournissant pour la première fois dans un cadre linguistique unique strictement normalisé:

  • Un véritable langage orienté objet;
  • Des nouvelles possibilités temps-réel très performantes;
  • Des structures permettant d’organiser les très grosses applications.
  • Un modèle d’exécution distribuée;
  • Une compatibilité avec tous les standard du marché.

2005

Une mise à jour du langage a été approuvée par l’ISO en mars 2007. On l’appelle officiellement Ada 2005, car si le processus de normalisation n’a été achevé qu’en 2007, le travail technique et même les premiers compilateurs étaient disponibles dès la fin 2005.

Il s’agit d’un amendement, processus plus léger qu’une révision comme ce fut le cas pour Ada95; les principales améliorations apportées concernent:

  • L’ajout de la notion d’interfaces, directement inspirées de la notion similaire en Java
  • Une plus grande souplesse dans les manipulations de pointeurs
  • Des améliorations et généralisations des mécanismes existant
  • L’incorporation dans la norme du profil Ravenscar
  • Des fonctionnalités temps-réel avancées, notamment pour le contrôle de l’ordonnancement
  • De nombreuses nouvelles bibliothèques prédéfinies (notamment conteneurs et accès à l’environnement)

2012

Une nouvelle révision du langage a été publiée par l’ISO le 15 décembre 2012. Elle poursuit l’effort commencé avec Ada 2005, en ajoutant:

  • La programmation par contrat (pré- et post-condition, invariants de types)
  • Des itérateurs définissables par l’utilisateur (y compris sur les conteneurs standard)
  • Des expressions conditionnelles, prédicats
  • Le support des architectures multi-cœurs
  • Et toujours plus de paquetages dans la bibliothèque prédéfinie.

Ada aujourd’hui

Ada est le plus avancé des langages orientés objet

Ada 2012 est un véritable langage industriel qui conserve les avantages des versions précédentes tout en offrant un support aux besoins d’aujourd’hui : héritage, interfaces, parallélisme, exécution distribuée, compatibilité avec les bibliothèques et les standards du marché.

Nous utilisons Ada tous les jours…

Que ce soit pour nos loisirs (Canal+, système HERTZ-Neverlost), nos déplacements (TGV, avion, métro), notre sécurité (contrôle aérien, sécurité ferroviaire), nous utilisons tous les jours des logiciels écrits en Ada. Sans compter les nombreux projets industriels et militaires qui en font grand usage.

De nombreux compilateurs ont été validé sur les principales cibles du marché, et il existe même des compilateurs gratuits, dont certains ont déjà été mis à jour à la nouvelle norme : tout le monde peut essayer sans risque.

Ada est aujourd’hui une réalité de première importance, et tout nouveau projet se doit d’évaluer la possibilité d’utiliser Ada afin d’augmenter ses chances d’aboutir dans les meilleures conditions possibles.

Comment installer l'ADA :

Sur MacOS :  

Pour l’utilisation du langage ADA sous Xcode, vous avez bien sûr besoin du logiciel de développement d’Apple Xcode. Une fois que vous avez téléchargé Xcode et le compilateur ADA (GNAT 4.2, le compilateur se trouve dans les fichiers de xCode), il ne reste plus qu’à les installer.