UNIVERSITE DE PARIS VI - U.E.R. 110 |
|
INSTITUT DE PROGRAMMATION | |
TOUR 55065 - 11, QUAI SAINT-BERNARD - 75-PARIS Ve TEL.336.25.25 OU 326.12.21 - POSTE: |
Le 10 Octobre 1977
Cher Professeur Dijkstra
Ceci n'est pas la rponse "officielle" votre note EWD636-0. J'en rdigerai une, mais elle doit tre elle aussi rdige avec soin. Dans l'immdiat, je voudrais seulement rpondre sur deux points;
-1. Vous tes un homme heureux. Vous avez l'esprit d'une vivacit sans gale (ne le niez pas. Je vous ai vu l'ouvre Saint Pierre de Chartreuse). Tout le monde n'a pas votre rapidit, moi en particulier. Et je ne suis pas le pire, je suis redout en France pour ma vitesse de raction. En aucun cas, le fait qu'il vous a fallu 15 minutes pour rsoudre un problme ne peut tre pris pour une rfrence. Rappelez-vous Saint Pierre de Chartreuse : combien des personnes prsentes (et ce ne sont pas n'importe qui. Mettez part les observateurs: les membres du WG2.3 sont d'minents programmeurs, du moins je l'espre) ont-elles rsolu votre problme sur le nombre de facteur k dans n! ?.
Ds lors, le problme fondamental pour moi est de savoir comment suppler au manque d'imagination, d'esprit cratif. Il n'y a pas de voie royale pour le faire. J'ai mis l'hypothse qu'une solide capacit faire du calcul, dote de moyens appropris, pourrait pallier partiellement au manque d'imagination.
C'est chez moi une vieille exprience. Dans ma jeunesse, on me faisait faire de la " gomtrie ". Vous savez bien: construire un carr dont chaque ct ( ou la droite portant chaque ct) passe par un point donn. La solution est triviale si vous avez la bonne ide. Sur ce problme prcis, j'ai vu des gens chercher des jours ou des semaines... N'tant pas trs intuitif, j'utilisais quasi systmatiquement les calculs de la gomtrie analytique. C'est long, c'est lourd, mais il est exceptionnel que a choue.
Cel fait plus de 4 ans que je pratique quotidiennement les transformations de programme, et je les possde maintenant trs bien. Elles ne me demandent que peu d'efforts de pense, et je dirai mme peu d'attention tant elles sont devenues pour moi "automatiques". Il n'y a aucun doute pour moi que je peux maintenant rsoudre des problmes qui m'auraient autrefois chapp. Je me suis entrain sur votre livre A discipline of programming . Mais j'ai aussi dvelopp mes propres exemples.
Pour moi, dfinitivement, la question n'est pas : combien de temps a-t-il fallu pour trouver la solution ? Mais bien plutt : ai-je rsolu le problme?
-2. Sur le problme particulier des systmes " naifs" de transformation de programme, entirement d'accord avec vous. Mme si cel peut vous surprendre, je ne crois pas plus que vous en un quelconque systme qui optimiserait " automatiquement" les programmes. C'est la raison pour laquelle je ne suis pas trs attir par la voie prise par Rod Burstall, quelle que soit l'estime que je lui porte et l'admiration que j'aie pour son travail. "Il n'y a pas de voie royale..."
Quel que soit le chemin suivi, la programmation demande imagination et cration, chose dont une machine ou des calculs sont dpourvus. Il y a des formes d'esprit diverses. Celles qui richement pourvue en intuition vont droit au but n'ont pas se soucier d'outils de calcul.
Celles qui n'ont pas cette facilit peuvent dvelopper par l'exercice une aptitude au calcul et combler ainsi leurs lacunes. Les calculs sont fastidieux, et sources d'erreur. On peut les faire faire par une machine. C'est ce que j'ai fait durant le mois d'aout Rio de Janeiro. Je me suis crit ( en Snobol) un systme interactif de manipulation de programmes, incluant la transformation de procdures rcursives sans paramtres en procdures itratives. Durant le mois de septembre, j'en ai expriment l'emploi, par moi-mme, et avec mes tudiants. L'un d'eux est maintenant en train de poursuivre l'exprience, dont j'attends beaucoup d'enseignements.
Il est absolument vident que si le systme est naif ( je l'ai crit, seul, en un mois), l'utilisateur ne peut tre naif, ou alors il n'en tirera rien. Je n'aurais probablement rien tir moi-mme su systme si je ne m'tais pas entrain pendant des annes faire des transformations.
Il en va, pour moi, en ce domaine comme dans celui des calculs algbriques. La premire rencontre avec a2 - b2 = (a-b)(a+b) est troublante, dconcertante: " je ne saurais jamais m'en servir". Avec le temps, cel devient une seconde nature, et des enfants mme pas trs dous peuvent devenir habiles en calcul algbrique. Nul n'a jamais prtendu que celui-ci soit naif...
Je pense que l'excs de zle des partisans des manipulations n'ait pu pousser commettre l'erreur de prsenter celles-ci comme la voie magique du succs. J'ai pu moi-mme commettre cette erreur, ne fut-ce que sous la pression des referees ou membres des comits de programme qui n'accepteraient jamais un papier commenant par: voici une faon de programmer qui vous demandera des efforts. Il vous faudra d'abord apprendre les transformations de programme et savoir les utiliser. Aprs quoi, l'criture d'un programme vous demandera des pages de calcul. Mais cel en vaut la peine, parce que rien ne vous resistera ( ou du moins bien peu de choses).
C'est le point de vue que j'ai adopt dans mon livre " la construction de programmes structurs " ( Navr du titre. Je n'en ai pas eu le choix. L'diteur voulait du " structur" dans le titre parce que a se vend bien. Voyez ce que vous avez fait...). J'invite le lecteur l'effort, parce que a paie. Suivant un proverbe franais: Quand on n'a pas de tte, il faut avoir des jambes. En un sens, les transformations de programme, ce sont mes bquilles...
Je vais essayer de mettre ces rflexions en forme, de les fonder sur des exemples convaincants. Je crois profondment ce que je dis, parce que j'en ai prouv les bienfaits moi-mme. La question ouverte, c'est de savoir si cela peut servir d'autres. C'est sur ce point que vont maintenant porter mes efforts.
Merci de votre lettre. Cel m'a t d'un grand rconfort que de savoir que j'avais au moins russi vous faire douter. Respectueusement et cordialement votre
J.ARSAC
Burroughs
Professor J.Arsac
Institut de Programmation
Tour 55
9 Quai Saint-Bernard
University of Paris
75 PARIS Ve
France
Sunday 16th of October 1977
Dear Colleague,
thank you very much for your nice letter of the 10th of October 1977. It was a clear and very honest letter, which hence was very illuminating and taught me a lot —besides the word "bquille" that I had never encountered before— .
From your letter it is perfectly clear that the two of us are products of rather different cultures with fairly different conceptions of a person's own responsibility for his own habits. I have been educated to feel myself responsible for the quality of my own handwriting —with the exception of the physically disabled, people write as well as they care— . I have been educated to feel myself responsible for my mastery of the language I use —with the exception of the mentally disabled, people express themselves as well as they care— and for the effectiveness of my thinking habits when solving problems.
From that point of view you are "escaping" from the responsibility to try to teach yourself how to think as effectively as possible, by just postulating that you are suffering from "lack of imagination and lack of enough creativity", and by just postulating that for instance I have such an incredibly quick mind that it is not fair for me to enter the competition or to use my own performances as a reference point for comparison. From my background I must consider those postulates as "easy ways out". The second one —and that is more serious— I consider as even wrong.
You see, I do deny having a quick mind. On the contrary, I have every reason to consider myself slow-witted —"l'esprit d'escalier" is for me a most common experience— . It was the awareness of my mind's slowness that induced me to learn to use what little wit I had as well as possible; it was, again, my awareness of my limited manipulative agility that motivated my training of myself to come away with as little formal manipulation as possible. You seem to discard my performance as "hors concours", as of a quick mind hardly with its equal; I would prefer you to interpret them as examples of what a slow mind can achieve, provided it has been trained well. (Your letter arrived yesterday morning before breakfast. After having read it —it was the only important letter that arrived that morning— I walked with the dogs and thought some about your letter in general and about the reconstruction of the square in particular. After having mentally constructed circles on which its vertices should lie, and having rejected the resulting picture because it became too complicated, I gave my attention to the dogs. After breakfast, during which we talked about other matters, my wife and I went shopping in Eindhoven. I drove; after having parked the car, we walked a few minutes from the parking lot to the "Bijenkorf" —a "Magasin du Nord" on Dutch scale— and my thoughts returned to the problem. On the escalators —which are of the double kind, the one going up perpendicular to the one going down— I said to my wife "I have solved Arsac's problem; it is, indeed, trivial.". And you must believe me when I write you that I solved it without great excitement, without any need for a divine spark, without any posing as a genius or what have you: walking from the parking lot I just did what any well-trained mind should obviously do. So I did it. Just that. And I didn't do it quickly either!)
The first sentence on the second page explains a lot. True that the time needed to find a solution is only of secondary importance —although it is undeniably an indication for the effectiveness with which someone has learned to think— . And then you state as the more important question "Have I solved the problem?", and here, again, I think that an important difference in our cultural backgrounds becomes manifest. Of course it is of some importance whether or not you have solved the problem (although not more important than the problem itself!) If you have, however, the question that is much more important in my scale of values is "Do you have a beautiful solution?". For most mathematical theorems I regard their most beautiful proofs as a greater contribution to our culture than the theorems themselves.
* * *
When replying to the second point you state (in the second paragraph) that there are different minds, and you seem to contrast the "calculators" with those "in rich supply of intuition". But I think the distinction a red herring. As Condorcet remarked of Euler's death: "Euler ceased to live and calculate."
Again, the distinction may seem meaningful as long as you think it helpful to postulate something intangible as "mathematical intuition" or whatever name you wish to give to the divine spark that I would rather not invent. For how do we see that wonderful "intuition" or "creativity" at work? The man calculates and calculates and calculates all the time. He has a great "aptitude au calcul" in the sense that by careful exploration of the structure of his formal obligations, he discovers how to avoid avoidable calculations, and by being so conscious of his own methodology, he has a greater likelyhood than most of arriving at the formal argument that is short enough to be convincing. He knows —by bitter experience, usually!— that mathematical elegance is not a dispensable luxury that only geniuses can afford themselves, but a matter of life and death. Avoiding avoidable formal manipulations and thereby keeping the amount of remaining formal labour to be done within the boundaries of the doable, that —and very little else— is precisely what mathematical elegance is all about. And a conscious analysis of the structure of your formal obligations should keep you on the right track. (Usually kept on the right track you don't waste your time on dead alleys, and you find yourself endowed with "a quick mind"!)
I honestly believe that, when all is said and told, the distinction you try to make between the calculators and the people with intuition is a red herring —for one thing: I would not know how to classify myself— . There are people who don't calculate —we can ignore them in this discussion— and those who do. Of the latter kind some do it more ugly and more clumsily than others, who take the responsibility for the beauty of their arguments.
I thank you once more for your thoughtful and illuminating letter and am looking forward to your "official" answer to EWD636, which, by the way, you should not regard as anything "official" itself, being only a part of what I regard as my scientific correspondence.
With warmest regards,
yours ever,
prof.dr.Edsger W.Dijkstra
Burroughs Research Fellow
PS. After rereading this letter I decided that I would like to give it some wider distribution, and hence I included it in the EWD-series. I trust that you don't regard this as a breach of confidence.