“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 106 — #116
i
i
i
i
i
i
i
i
106
3
• Techniques de programmation déclarative
déclarative
Opération
Résultats
Reste du calcul
Arguments
Figure 3.1 Une opération déclarative à l’intérieur d’un contexte de calcul.
– Le raisonnement est facile pour les programmes. Il est plus facile à raisonner
sur les programmes déclaratifs que sur les programmes écrits dans les modèles
plus expressifs. Comme les programmes déclaratifs ne calculent qu’avec des
valeurs, des techniques simples de raisonnement algébrique et logique peuvent
être utilisées.
Ces deux propriétés sont importantes pour la programmation à grande échelle et la
programmation à petite échelle. Il serait vraiment agréable que tous les programmes
puissent être écrits facilement dans le modèle déclaratif. Malheureusement, ce n’est
pas le cas. Le modèle déclaratif est une bonne approche pour certains genres de
programmes et une mauvaise approche pour d’autres. Ce chapitre et le suivant étudient
les techniques de programmation du modèle déclaratif et expliquent les genres de
programmes pour lesquels ce modèle est approprié.
Commençons par regarder de plus près la première propriété. Nous définissons un
composant comme étant un fragment de programme avec une frontière précise entre
l’extérieur et l’intérieur, ainsi que des entrées et des sorties bien définies. Un composant
peut être construit en utilisant des composants plus simples. Par exemple, dans le
modèle déclaratif, une procédure est une sorte de composant et une procédure peut
appeler des procédures. Le programme principal est le composant le plus haut dans
une hiérarchie de composants. La hiérarchie s’arrête vers le bas avec les composants
primitifs qui sont fournis par le système.
Dans un programme déclaratif, l’interaction entre composants est déterminée exclusivement par les entrées et les sorties de chaque composant. Un composant déclaratif
peut être compris tout seul, sans besoin de comprendre le reste du programme. L’effort
Précédent

- 121/370

Suivant