Introduction à la programmation fonctionelle
Objectif du cours:
réfléchir aux principes de base de la programmation et de l’informatique à
travers l’apprentissage d’un langage simple mais puissant.
Différence entre “programmation” (concept abstrait) et “programmation sur machine”
(réalisation particulière d’un processus de conception).
relative indépendance du langage vis à vis des problèmes de programmation
le choix du langage tient à deux choses:
puissance d’expression pour résoudre des problèmes complexes et
facilité d’utilisation et d’apprentissage pour se concentrer sur l’essentiel
choix de la programmation fonctionnelle
1
La programmation fonctionnelle ?
concept fondamental: l’abstraction traiter une chose complexe en la divisant en choses
plus simples et en ignorant les détails.
objets de base : la fonction un programme est un ensemble de fonctions traitant des
données d’entrée
des langages interprétés : instructions / interprété au fur et à mesure — machine
langages compilés :
instructions / préparation (compilation) / execution
avantage/ inconvénients
évaluation / débuggage plus souple
plus lent (mais on peut toujours compiler)
le langage choisi : Camel la programmation fonctionnelle est une famille de langage très
proches, dont le plus célèbre est LISP développé au MIT.
le successeur de LISP: scheme: plus léger, plus simple et aussi puissant, utilisé pour
l’éducation mais pas de typage des données; on utilisera donc un autre langage
fonctionnel typé: Camel
2