UE INF 2162 - Programmation mult-paradigme
Objectifs
Les langages de développement permettent d'exprimer les traitements à réaliser de manières différentes : que ce soit la programmation impérative, déclarative ou fonctionnelle, chaque type de programmation propose des outils adaptés à la résolution de certains problèmes. La programmation orienté objet est une manière d'organiser les données et le code, mais pas une méthode de résolution. La programmation impérative met l'accent sur les variables et leur transformation, ce qui peut poser des problèmes pour la distribution et la synchronisation de données. La programmation déclarative simplifie la manipulation des structures de données. Enfin, la programmation fonctionnelle permet de mettre l'accent sur les transformations plus que sur le stockage et diminue la granularité de réutilisation du code. A l'heure actuelle, les langages de développement évoluent pour permettre au développeur de choisir, en fonction du problème à résoudre, le formalisme le plus adapté. C'est le cas, par exemple, de Java8 qui rajoute de manière extrêmement limitée des éléments empruntés à la programmation fonctionnelle. Afin de conserver une compatibilité optimale avec le code déjà existant, les langages classiques (Java, C, C++ etc) ont des capacité limitées d'extension, principalement liées à une syntaxe figée et à des mécanismes de compilation non extensibles. Ces greffes permettent généralement très difficilement de profiter des apports des différents paradigmes. Scala fait partie des rares langage dont la conception a été guidé dès l'origine par la possibilité de faire cohabiter de manière cohérente ces différents paradigmes, tout en conservant une compatibilité optimale avec le code Java. L'objet de ce cours est d'introduire les mécanismes de programmation multi-paradigme en utilisant Scala comme support d'exécution.
Programmation
Cours : 22 h - TP : 22 h
Intervenants