“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 105 — #115
i
i
i
i
i
i
i
i
Chapitre 3
Techniques de programmation
déclarative
Le côté agréable de la programmation déclarative est que vous pouvez écrire
une spécification et l’exécuter comme un programme. Le côté désagréable
de la programmation déclarative est que certaines spécifications claires font
des programmes incroyablement mauvais. L’espoir de la programmation
déclarative est que vous pourrez progresser d’une spécification vers un
programme raisonnable sans quitter le langage.
– The Craft of Prolog, Richard O’Keefe (1990)
Considérez un programme qui prend des entrées et renvoie des sorties. Nous disons
que l’opération calculée par ce programme est déclarative si, quand on l’appelle avec
les mêmes entrées, elle renvoie les mêmes résultats indépendamment de son contexte.
La figure 3.1 illustre le concept. Une opération déclarative a trois propriétés : elle est
indépendante (ne dépend pas d’un état d’exécution en dehors d’elle-même), sans
état (n’a pas d’état d’exécution interne qui est gardé entre les appels) et déterministe
(calcule toujours les mêmes résultats avec les mêmes entrées). Nous montrerons que
tous les programmes écrits avec le modèle du chapitre précédent sont déclaratifs.
Pourquoi la programmation déclarative est importante
La programmation déclarative est importante à cause de deux propriétés :
– Les programmes sont compositionnels. Un programme déclaratif est fait de composants. Chaque composant peut être écrit, testé et prouvé correct indépendamment des autres composants et de sa propre histoire (les appels précédents).
i
i
i
i
i
i
i
i
Chapitre 3
Techniques de programmation
déclarative
Le côté agréable de la programmation déclarative est que vous pouvez écrire
une spécification et l’exécuter comme un programme. Le côté désagréable
de la programmation déclarative est que certaines spécifications claires font
des programmes incroyablement mauvais. L’espoir de la programmation
déclarative est que vous pourrez progresser d’une spécification vers un
programme raisonnable sans quitter le langage.
– The Craft of Prolog, Richard O’Keefe (1990)
Considérez un programme qui prend des entrées et renvoie des sorties. Nous disons
que l’opération calculée par ce programme est déclarative si, quand on l’appelle avec
les mêmes entrées, elle renvoie les mêmes résultats indépendamment de son contexte.
La figure 3.1 illustre le concept. Une opération déclarative a trois propriétés : elle est
indépendante (ne dépend pas d’un état d’exécution en dehors d’elle-même), sans
état (n’a pas d’état d’exécution interne qui est gardé entre les appels) et déterministe
(calcule toujours les mêmes résultats avec les mêmes entrées). Nous montrerons que
tous les programmes écrits avec le modèle du chapitre précédent sont déclaratifs.
Pourquoi la programmation déclarative est importante
La programmation déclarative est importante à cause de deux propriétés :
– Les programmes sont compositionnels. Un programme déclaratif est fait de composants. Chaque composant peut être écrit, testé et prouvé correct indépendamment des autres composants et de sa propre histoire (les appels précédents).
