Paradigmes de programmation
Objectifs
Connaître et approfondir certains paradigmes de programmation : logique, fonctionnel, réactif, objet ; savoir les mettre en œuvre ; comprendre leurs différences.
Contenu de la formation
- Contenu sans obligation d'exhaustivité: Paradigme objet, généricité, héritage et polymorphisme, introspection ; paradigme fonctionnel, lambda expressions, clôtures, objets persistants, promesses ; paradigme logique. Divers langages de programmation pourront être abordés, par exemple Java ou C# pour le paradigme objet, Javascript, Scala, Haskell ou Kotlin pour la programmation fonctionnelle, Prolog pour la programmation logique. Au mois 50% du programme (et de l'examen) concernent un autre paradigme que la programmation objet (dominant aujourd'hui).
- Structure: L’enseignement comprendra un noyau de cours magistraux, mais surtout un volume important de TP sur machine. En particulier, on partira d’un ou plusieurs objectifs de programmation et leur déclinaison dans divers paradigmes.