Programmation
fonctionnelle, générique et objet
Une
introduction avec le langage OCaml
Aujourd’hui,
les langages sont très nombreux, et les styles de
programmation qu’ils offrent se multiplient. Par exemple, les langages
C++, Eiffel, Java, C#, ou Scala proposent des moyens de programmation
objet et
générique ; les langages Ada, Fortran, Cobol ont
intégré des éléments
de programmation objet ; les langages Smalltalk, CLOS, Python,
Ruby, Dylan ou Javascript mêlent
programmation fonctionnelle et objet ; la programmation
impérative est
incluse dans des langages fondés sur le modèle
fonctionnel comme Lisp,
Scheme, ou ML.
Pourtant,
les différents styles de programmation sont
souvent méconnus. L’idée de ce livre est donc de les
introduire, de les
illustrer, de les comparer, de les associer, et cela essentiellement
à
la lumière d’un langage de la famille des ML : OCaml. Ce
langage offre
en effet des moyens très complets de programmation
fonctionnelle,
impérative, générique, modulaire et objet, dans un
cadre où le système
de typage est d’une puissance inégalée.
Voici les principaux points traités dans ce livre :
- Une introduction
aux mécanismes et aux concepts de base associés à
la
programmation fonctionnelle.
- Une
synthèse des principales techniques
de programmation fonctionnelle (programmation
"incrémentale", généralisations, polytypisme,
programmation dirigée par la données,
représentation fonctionnelle des données, contrôle
de l'évaluation, émulations de la paresse, structures
paresseuses, passages de continuation, etc.).
- Une
comparaison entre la
programmation fonctionnelle et
impérative.
- Une
introduction à la programmation
modulaire générique dans un cadre fortement
typé (au moyen des foncteurs ML), quelques-unes de ses
applications et modèles élémentaires
de
conception (design patterns).
- Une
introduction à la programmation
objet fortement typée d'OCaml, ses
caractéristiques, ses différences avec Java, C++, Eiffel,
et sa place au sein d'un système de modules.
- Des
illustrations de combinaisons
de programmation
fonctionnelle, générique et objet.
retour
à la page principale