Le problème résolu !
Voici une solution connue au problème : comment faire bouillir de l'eau ?
Les conditions initiales sont :
-
La casserole est accrochée à son clou.
-
L'évier est muni d'un robinet d'eau froide.
-
On dispose d'une cuisinière au gaz.
Pour faire bouillir de l'eau, il faut :
-
Décrocher la casserole du clou
-
Placer la casserole dans l'évier
-
Tourner le robinet et mettre l'eau froide dans la casserole.
-
Couper le robinet.
-
Placer la casserole sur la cuisinière.
-
Allumer le feu sous la casserole
-
On obtient de l'eau bouillante au bout de quelques minutes.
"Comment faire bouillir de l'eau ?" a donc une solution, on peut
en ignorer les détails car on est en face d'un théorème
(en mathématique) ou d'une boite noire (en informatique).
Un problème similaire
Quelques temps plus tard, on se retrouve devant le
même problème :
il faut faire bouillir de l'eau, toujours dans
la même pièce ; mais les conditions initiales ont changées :
la casserole est remplie d'eau tiède et se trouve sur la
cuisinière.
On se trouve donc devant un problème inconnu, renforcé
par un problème de définition : qu'est ce que de l'eau tiède ?,
On sait déjà que l'on peut résoudre le problème "Comment faire bouillir de l'eau ?",
dans des conditions initiales différentes.
La manière la plus simple de résoudre ce problème est
de se ramener à ces conditions connues :
-
On vide la casserole dans l'évier.
-
Et on raccroche la casserole au clou.
Conclusion
La morale de cette histoire est qu'il est
préférable de se placer dans un cas connu
plutôt que de se poser un nouveau problème.
S'il s'agit d'un principe fort en mathématique
(cette histoire m'a été racontée par un professeur
de mathématique, elle doit
circuler),
il s'applique également
au développement.
Il est préférable d'utiliser une
procédure déjà écrite, déjà testée, en un mot qui
marche, plutôt que d'écrire une nouvelle
procédure similaire avec un gain de
performance non significatif.
Un autre avantage est que l'on bénéficiera
des améliorations ou corrections éventuelles apportées
au problème "Comment faire bouillir de l'eau ?" :
par exemple si l'on se dote d'une cuisinière
à induction.
Donc n'oubliez jamais de raccrocher la casserole au clou !
|