Objectifs
Au terme de ce cours l’étudiant.e sera en mesure de comprendre les concepts fondamentaux des langages de programmation modernes, les différents paradigmes de programmation et les avantages et les limites de chaque paradigme.
Contenu
Structure interne des langages : structures de contrôle, structures de données, structuration de code. Types d'appels, portée, conversion de types, polymorphisme, encapsulation (module, classe), héritage, généricité. Traitement d'exceptions. Concurrence. Syntaxe et Sémantique formelles. Paradigmes de programmation : procédural, fonctionnel, orienté objet, parallèle et logique. Étude comparative de langages parmi: C, C++, Java, Ada, Prolog, SmallTalk, ML. Ce cours comporte des séances obligatoires de travaux dirigés (TD).