1. GENERALITES
2. STRUCTURE DES FICHIERS
3. SYNTAXE GENERALE
3.1. DECLARATIONS
3.2. CONDITIONS
3.3. BOUCLES
4. TYPES
4.1. TYPAGE FORT
4.2. CONSTRUCTION DE NOUVEAUX TYPES
4.3. ATTRIBUTS
4.4. TABLEAUX ET CHAINES DE CARACTERES
4.5. LES POINTEURS
5. PROCEDURES ET FONCTIONS
5.1. FORME GENERALE
5.2. SURDEFINITION
6. PAQUETAGES
6.1. PROTECTION DES DECLARATIONS
6.2. PAQUETAGES ENFANTS
7. CLASSES
7.1. LE TYPE RECORD
7.2. DERIVATION ET LIAISON DYNAMIQUE
7.3. CLASSES ABSTRAITES
8. GENERICITE
9. EXCEPTIONS
9.1. EXCEPTIONS STANDARD
9.2. EXCEPTIONS ETENDUES
10. TEMPS REEL
11. REFERENCES
1. Généralités
Ada 95 est un langage qui implémente la quasi-totalité des notions que vous avez l’habitude d’utiliser en C++ : classes, héritage, polymorphisme, généricité. Les aficionados de ce langage ont coutume de prétendre qu’ils les implémentent mieux, nous nous contenterons de dire qu’elle les implémente différemment.
Tout le langage C++ est conçu pour permettre au programmeur de coder le plus facilement et de la façon la plus compacte possible, quitte à rendre le programme incompréhensible ou très difficilement
débugable en cas de problème. Cette tendance est actuellement contrebalancée par l’ajout de plus en plus systématiques de warnings et de normes de codage. Mais personne n’est à l’abri d’une erreur d’inattention non contrôlée.
Le langage Ada vient du principe exactement inverse. Le compilateur effectue de très nombreux tests qui bloquent le programme. Il rajoute même des tests à l’exécution (test de dépassements de tableaux par exemple). Le langage est très verbeux, on peu compter deux ou trois lignes Ada pour une ligne C++ en moyenne, et les mots clés sont explicites (begin et end au lieu des accolades ouvrantes et fermantes par exemple).
2. Structure des fichiers
En C++, on a tendance à utiliser deux types de fichiers : les fichiers d’entête (.h) qui servent plus ou moins à définir les spécifications et les fichiers de corps (.cxx ou .cpp dans la plupart des cas) qui définissent les implémentations. Ces règles ne sont absolument pas imposées, et il n’est pas rare de voir une fonction « inline » qui traîne dans un .h, ou dans un fichier annexe inclus dans ce .h.
Avec Ada, un fichier, c’est toujours une unité de compilation, séparée en deux parties : la spécification (.ads) et le corps (.adb). Il y a deux types d’unités de compilation : les paquetages et les procédures. Un paquetage est une sorte de bibliothèque, qui contient plusieurs procédures (mais pas de « main »), alors qu’une procédure est une unité qui peut servir à créer un programme exécutable…
Ada pour le programmeur C++ (1.1 MO) (Cours PDF)