“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 53 — #63
i
i
i
i
i
i
i
i
2.3 Le langage noyau déclaratif
53
particulier : la programmation orientée objet, la conception des interfaces graphiques
intuitives (GUI : « Graphical User Interface ») et la programmation par composants.
Pour la programmation orientée objet, le chapitre 6 expose comment les enregistrements peuvent représenter des messages et des en-têtes des méthodes, qui sont utilisés
par les objets pour communiquer. Pour la conception des GUI, la section 3.7.2 montre
comment les enregistrements peuvent représenter des gadgets logiciels (« widgets »),
les éléments de base d’une interface graphique. Pour la programmation par composants, la section 3.8 décrit comment les enregistrements peuvent représenter des
modules de première classe qui regroupent des opérations associées.
Pourquoi les procédures ?
Un programmeur se demanderait peut-être pourquoi notre langage noyau a des procédures comme éléments primitifs. Des admirateurs de la programmation orientée
objet se demanderaient pourquoi nous n’utilisons pas des objets, et des admirateurs
de la programmation fonctionnelle, pourquoi nous n’utilisons pas des fonctions. Nous
aurions pu choisir l’une ou l’autre possibilité, mais nous ne l’avons pas fait. Les raisons
sont simples.
Les procédures sont plus appropriées que les objets parce qu’elles sont plus simples.
Les objets sont assez compliqués, comme l’explique le chapitre 6. Les procédures
sont plus appropriées que les fonctions parce qu’elles ne définissent pas forcément
des entités qui se comportent comme des fonctions mathématiques.
6 Par exemple,
nous définissons les composants logiciels et les objets comme des abstractions basées
sur les procédures. En plus, les procédures sont souples parce qu’elles ne font pas
d’hypothèses sur le nombre d’entrées et sorties. Une fonction a toujours une sortie.
Une procédure peut avoir un nombre quelconque d’entrées et sorties, y compris zéro.
Les procédures montrent toute leur puissance quand on les utilise comme briques de
base (ce qui s’appelle la programmation d’ordre supérieur).
2.3.5 Les opérations de base
Le tableau 2.3 contient les opérations de base que nous utiliserons. Les types dans
le tableau sont les types de la figure 2.16. La plupart de ces opérations peuvent être
écrites comme des expressions en utilisant du sucre syntaxique. Par exemple, X=A * B
est du sucre syntaxique pour {Number.´ * ´ A B X}, où Number.´ * ´ est une
6. D’un point de vue théorique, une procédure est un « processus » dans un calcul concurrent comme le
p calcul. Les arguments de la procédure sont des canaux. Dans ce chapitre nous utilisons des processus
qui sont composés séquentiellement avec des canaux à envoi unique. Le chapitre 4 fait de la composition
concurrente des processus.
© Dunod – La photocopie non autorisée est un délit
Précédent

- 68/370

Suivant