Ce tutoriel a été initialement rédigé sur le Site du Zéro par Kaji9 sous licence CC BY-NC-SA.
Vous voudriez apprendre à programmer mais ne savez pas par où commencer ? Vous avez commencé à apprendre un autre langage mais vous vous embrouillez dans les accolades et autres symboles bizarroïdes ? Ou encore vous souhaitez apprendre un nouveau langage de programmation ? Alors ce tutoriel est fait pour vous.
Le langage Ada est certainement le meilleur langage pour apprendre à programmer : pour peu que vous connaissiez deux ou trois mots d'anglais, il vous sera facile de lire un code en Ada. Moins abstrait que beaucoup de langages, mais toutefois rigoureux, facilement compréhensible et lisible, même par un novice, le langage Ada vous permettra de comprendre les logiques propres à la programmation et vous donnera tout de suite de bonnes habitudes.
Qui plus est, le langage Ada ne présente ni plus ni moins de fonctionnalités que les langages les plus connus (C, C++, Java, Python…). Il est seulement différent et, je me répète, plus accessible aux débutants. Alors si vous êtes intéressé, nous allons pouvoir débuter de tutoriel. Celui-ci est organisé en cinq parties :
- La partie I constitue une introduction à la programmation et vous accompagne dans votre première prise en main d'Ada.
- Les parties II, III et IV traitent du langage Ada en lui-même et présenteront une difficulté progressive : notions de base, types composites puis programmation orientée objet.
- La partie V constitue une mise en pratique en vous proposant de créer des programmes fenêtrés avec GTK et Ada.
Le cours sera ponctué de travaux pratiques. Ce sont des chapitres vous proposant un projet (parfois ludique) allant du logiciel de gestion de vos DVD à des jeux de dés ou de démineur. Ils seront pour vous l'occasion de mettre en application vos connaissances acquises.
Premiers pas avec Ada
Ada, notions essentielles
-
Variables I : Typage et affectation
-
Variables II : Opérations
-
Les conditions I
-
Les conditions II : les booléens
-
Les boucles
-
Procédures et fonctions I
-
[TP] Le craps
Ada, les types composites
-
Les tableaux
-
Les chaînes de caractères
-
La programmation modulaire I : les packages
-
Les fichiers
-
Créer vos propres types
-
[TP] Logiciel de gestion de bibliothèque
-
Les pointeurs I : allocation dynamique
-
Les pointeurs II
-
Fonctions et procédures II : la récursivité
-
Les Types Abstraits de Données : listes, files, piles…
-
[TP] Le jeu du serpent
Ada : Notions avancées et Programmation Orientée Objet
-
Algorithmique : tri et complexité
-
Variables III : Gestion bas niveau des données
-
La programmation modulaire II : Encapsulation
-
La programmation modulaire III : Généricité
-
La programmation modulaire IV : Héritage et dérivation
-
La programmation modulaire V : Polymorphisme, abstraction et héritage multiple
-
La programmation modulaire VI : Finalisation et types contrôlés
-
[TP] Bataille navale
-
Les exceptions
-
Multitasking
-
Interfaçage entre Ada et le C
Ada et GTK : la programmation évènementielle
-
GTKAda : introduction et installation
-
Votre première fenêtre
-
Les conteneurs I
-
Les signaux
-
Les widgets I
-
Les Widgets II : les boîtes de dialogue
-
[TP] Le démineur
-
Les conteneurs II
-
Les widgets III : barres et menus
-
[TP] Démineur (le retour)
Ce long cours touche à sa fin. Après toutes ces heures de lecture, vous avez pu découvrir les rudiments de l'algorithmique et du langage Ada (dans sa version 83), puis vous avez découvert les fonctionnalités offertes par les normes Ada 95 et 2005 en matière de programmation orientée objet. Enfin, vous avez pu découvrir une bibliothèque tierce et la programmation événementielle au travers de GTKAda. Que vous reste-t-il à apprendre ? Encore beaucoup à vrai dire. En programmation comme en toute chose, on n'a jamais fini d'apprendre. Mais voici quelques pistes :
- Tout d'abord, d'autres bibliothèques graphiques existent et ont été traitées sur ce site. Par exemple la SDL, traitée dans le cours de M@teo21 sur le C, dispose d'une version Ada. De même, il existe des interfaçages de QT pour Ada appelés QT4Ada (QT est traité dans le cours sur le C++). Le web regorge de ressources, à vous de les découvrir.
- Ensuite, d'autres bibliothèques existent et permettent d'effectuer divers travaux. Ainsi la société Adacore fournit gratuitement la bibliothèque XML/Ada pour traiter des fichiers XML et cela tombe bien car le Site du Zéro propose quant à lui un excellent tutoriel d'introduction au langage XML. Des bibliothèques permettent également de travailler sur les bases de données MySQL ou sur le web.
- Enfin, il est important que vous découvriez d'autres langages de programmation. Cela vous permettra de découvrir de nouvelles façons de penser, de travailler … et le Site du Zéro regorge d'excellent tutoriels sur divers langages comme C, C++, Python, Java, C#, OCaml … Cela vous permettra aussi de vous rendre compte de tout ce que programmer en Ada vous aura appris en termes de rigueur ou de structuration de votre code.
J'espère que ce cours vous aura plu et qu'il vous aura donné les outils pour aborder ces nouveaux domaines de la programmation avec sérénité. Je remercie enfin le Site du Zéro pour les conseils et soutiens qu'il m'aura apporté tout au long de la rédaction de ce tutoriel.