cs0210001/cs0210001
1: \documentclass{article}
2: \usepackage{url}
3: 
4: \begin{document}
5: \title{Edsger Wybe Dijkstra (1930 -- 2002): \\  A Portrait of a Genius}
6: \author{Krzysztof R. Apt,     \\    
7:         {\em CWI }, 
8:         {\em P.O. Box 94079, 1090 GB Amsterdam, The Netherlands} \\
9:         and \\
10:         {\em University of Amsterdam, The Netherlands}
11: \footnote{Currently on leave at the School of Computing, National University of Singapore} 
12: }
13: 
14: \maketitle
15: 
16: \section*{Scientific Career}
17: 
18: Edsger Wybe Dijkstra was born in Rotterdam May 11, 1930.  His mother
19: was a mathematician and father a chemist. In 1956 he graduated from
20: the University of Leiden in mathematics and theoretical physics. In
21: 1959 he received his PhD from the University of Amsterdam for his
22: thesis titled ``Communication with an Automatic Computer'' devoted to
23: a description of the assembly language designed for the first
24: commercial computer developed in the Netherlands, the X1.  It also
25: dealt with the concept of an interrrupt, a novelty at that time.  His PhD
26: thesis supervisor was Aad van Wijngaarden.
27: 
28: From 1952 till 1962 he worked at the Mathematisch Centrum in Amsterdam
29: where he met his wife Ria. In 1962 they moved to Eindhoven where he
30: became professor at the Mathematics Department at the Technical
31: University of Eindhoven.  Then in 1964 they moved to a newly built
32: house in Nuenen, a small village on the outskirts of Eindhoven which
33: in 1973 was added to the world map of computer science when Dijkstra
34: started to circulate his reports signed ``Burroughs Research Fellow''
35: with his home address.  Many thought that Burroughs, a company known
36: at that time for the production of computers based on an innovative
37: hardware architecture, was based in Nuenen.  In fact, Dijkstra was the only
38: research fellow of Burroughs Corporation and worked for it from home,
39: occasionally traveling to its branches in the USA.
40: 
41: As a result he reduced his appointment at the University to one day a
42: week.  This day, Tuesday, soon became known as the day of the famous
43: ``Tuesday Afternoon Club'', a seminar during which he discussed with
44: his colleagues scientific articles, looking at all aspects --
45: notation, organization, presentation, language, content, etc. 
46: Soon after he moved in 1984 to the University of Austin, Texas, USA, 
47: a new ``branch'' of the Tuesday Afternoon Club emerged in Austin.
48: Dijkstra worked in Austin till his retirement in the fall of 1999.  He
49: returned from Austin, terminally ill, to his original house in Nuenen
50: in February 2002, where he died half a year later, on August 6th. He
51: is survived by his wife and three children, Marcus, Femke and Rutger. 
52: 
53: \section*{Scientific Contributions}
54: 
55: Through his fundamental contributions Dijkstra shaped and influenced
56: the field of computer science like no other scientist. His 
57: groundbreaking contributions ranged from the engineering side of computer
58: science to the theoretical one and covered several areas including
59: compiler construction, operating systems, distributed systems,
60: sequential and concurrent programming, software engineering, and graph
61: algorithms.  Many of his papers, often just a few pages long, are
62: the source of whole new research areas.  Even more, several concepts
63: that are now completely standard in computer science were first
64: identified by Dijkstra and bear names coined by him.
65: 
66: Examples abound.  In 1959 he published in a 3-page long article ``A
67: Note on Two Problems in Connexion with Graphs'' the celebrated,
68: supremely simple, algorithm to find the shortest path in a graph, now
69: called Dijkstra's algorithm.  Its impact over the next forty years is
70: best summarized by the following quotation from the article of Mikkel
71: Thorup, ``Undirected Single-Source Shortest Paths with Positive Integer
72: Weights in Linear Time'', from Journal of the ACM 46(3), pp.362-394, 1999:
73: 
74: \begin{quote}
75: ``Since 1959, all theoretical developments in SSSP [Single-Source
76: Shortest Paths] for general directed and undirected graphs have been
77: based on Dijkstra's algorithm.''
78: \end{quote}
79: 
80: Following Fortran, ALGOL 60 was the second high-level programming
81: language. Dijkstra was closely involved in the ALGOL 60 development,
82: realization and popularization. As discussed by Peter Naur in the
83: article ``The European side of the last phase of the development of
84: ALGOL 60'', in the Proceedings of the first ACM SIGPLAN conference on
85: History of programming languages, January 1978, Dijkstra took part in
86: the period 1958--1959 in a number of meetings that culminated in the
87: publication of the report defining the ALGOL 60 language.  Dijkstra's
88: name does not appear in the list of thirteen authors of the final
89: report.  Apparently, he eventually left the committee because he could
90: not agree with the majority opinions.  Still, while at the
91: Mathematisch Centrum, he wrote jointly with Jaap Zonneveld the first
92: ALGOL 60 compiler.  It employed a novel method for implementing
93: recursion.  His short book ``Primer of Algol 60 Programming'',
94: originally published in 1962, was for several years the standard
95: reference for the language.
96: 
97: In a one page paper from 1965 he introduced the ``mutual exclusion
98: problem'' for $n$ processes and discussed a solution to it.  It was
99: probably the first published concurrent algorithm.  The notion,
100: standard by now, of a ``critical section'' was also introduced in this
101: paper.  The 1986 book by Michel Raynal, titled ``Algorithms for Mutual
102: Exclusion'', shows what impact this single page had on the field in
103: the first twenty years since it was published.
104: 
105: Dijkstra and his colleagues in Eindhoven also designed and implemented
106: THE (standing for ``Technische Hogeschool Eindhoven'') operating
107: system, which was organized into clearly identified layers.  His 1968
108: article on this subject provided the foundation for all subsequent designs of
109: the operating systems.
110: 
111: In 1968 Dijkstra published his famous paper ``Cooperating Sequential
112: Processes'', a 70-page essay that originated the field of
113: concurrent programming.  He discussed in it the notion of
114: mutual exclusion and the criteria a satisfactory solution should
115: satisfy. He also redressed the historical perspective left out of his
116: 1965 paper by including the first solution to the mutual exclusion
117: problem, for 2 processes, due to Th.J. Dekker.  Further, he proposed
118: the first synchronization mechanism for concurrent processes, the
119: semaphore with its two operations, P and V.
120:  He also identified the ``deadlock problem'' (called there
121: ``the problem of the deadly embrace'') and proposed an elegant
122: ``Banker's algorithm'' that prevents deadlock.  The deadlock detection
123: and prevention became perennial research problems in the field of
124: concurrent programming.
125: 
126: Several of these ideas were conceived by him much earlier. For
127: example, he introduced the concept of a semaphore already in 1962.
128: It is discussed in his manuscript EWD 51, ``Multiprogrammering en
129: X8'' (Multiprogramming and X8) written in Dutch, see
130: \url{http://www.cs.utexas.edu/users/EWD/ewd00xx/EWD51.PDF}.  The P and
131: V operations are abbreviations for ``Prolaag'', a non-existing Dutch
132: word that stands for ``lower'' (in Dutch ``lower'' is ``verlaag'') and
133: for ``Verhogen'', a Dutch word for ``raise''.  In turn, the ``Banker's
134: algorithm'' appeared in his manuscript EWD 108, ``Een algorithme ter
135: voorkoming van de dodelijke omarming'' (An algorithm to prevent the
136: deadly embrace) written in Dutch, see
137: \url{http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD108.PDF}.  Also,
138: the paper ``Cooperating Sequential Processes'' was finalized in 1965
139: and was available as his manuscript EWD 123, see
140: \url{http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD123.PDF}.
141: 
142: Then, in a 1971 paper he illustrated the deadlock problem by means of
143: the ``dining philosophers problem'' according to which five
144: philosophers, seated around a table, are supposed to eat spaghetti
145: sharing only five forks.  This problem became a classic benchmark for
146: explaining new synchronization primitives.  The paper also led to an
147: intense research for high-level synchronization mechanisms, leading
148: eventually to the concept of a monitor, due to Per Brinch Hansen and
149: Tony Hoare.
150: 
151: His two-page article ``Self-stabilizing systems in spite of
152: distributed control'' from 1974 is at the source of one of the main
153: approaches to fault tolerant computing, as can be seen by studying the
154: book ``Self-stabilization'' (the name was coined by Dijkstra) of Shlomi
155: Dolev from 2000 and by browsing through the proceedings of the annual
156: workshops on self-stabilizing systems. Interestingly, the paper was
157: noticed only in 1983, after Leslie Lamport stressed its importance in
158: his invited talk at the ACM Symposium on Principles of Distributed
159: Computing (PODC). It won the 2002  PODC significant paper award.
160: 
161: Dijkstra had the audacity to criticize the customary ``if-then-else''
162: programming statement as asymmetric and proposed in 1975 instead
163: another, symmetric, construct based on the notion of a ``guard''.
164: This allowed him to present the more than 2300 years old Euclid's
165: algorithm for computing the greatest common divisor of two natural
166: numbers in an aesthetically pleasing symmetric form.  Since then the
167: concept of a guard spread deeply inside computer science.
168: 
169: In 1976 he published a seminal book ``A Discipline of Programming'' which
170: put forward his method of systematic development of programs together
171: with their correctness proofs.  In his exposition he used his tiny
172: ``guarded commands'' language. The language, with its reliance on
173: nondeterminism, the adopted weakest pre-condition semantics, and the
174: proposed development method has had a huge impact on the field till
175: this day. 
176: 
177: In 1984, to add further support to this approach to programming, he
178: published jointly with Wim Feijen an introductory textbook for first
179: year students of computer science.  The book, first published in
180: Dutch, was titled ``Een methode van programmeren''. The English
181: edition appeared in 1988 as ``A Method of Programming''.
182: 
183: In the early eighties he published two small papers on the problem of
184: detecting termination in distributed systems.  The first one, 4 pages
185: long, was written with Carel Scholten, the second, 3 pages long, with
186: Wim Feijen and Netty van Gasteren.  The problem was independently
187: formulated and solved by Nissim Francez in a more restricted setting
188: of CSP programs. It became one of the most often studied problems in
189: the area of distributed programming and a number of surveys on the
190: subject appeared.
191: 
192: Then in 1990 he published his book ``Predicate Calculus and Program
193: Semantics'' with Carel Scholten. The book was devoted to logical and
194: mathematical analysis of his weakest precondition semantics with a
195: long prelude concerning predicate calculus. However, the book received
196: mixed reviews. We shall return to this matter later.
197: 
198: His fundamental achievements were early recognized. Already in 1972 he
199: obtained the ACM Turing award. He was a Foreign Honorary Member of the
200: American Academy of Arts and Sciences, member of the Royal Netherlands
201: Academy of Arts and Sciences (KNAW), and held the doctor honoris causa
202: titles from the Universities of Belfast, Northern Ireland and Athens,
203: Greece.  In addition, over the period of thirty years, he received
204: numerous awards and distinctions, some just a couple of weeks before
205: his death.  On April 10, 2001, the Dutch television broadcast a half
206: an hour TV program about Dijkstra, which was very favourably reviewed
207: in the main daily, the NRC Handelsblad.
208: 
209: Not surprisingly, his obituary appeared in a number of newspapers, including
210: the New York Times, the Washington Post, and Guardian.
211: 
212: \section*{Working Style}
213: 
214: Dijkstra never wrote his articles using a computer. He preferred to
215: rely on his typewriter and later on his Mont Blanc fountain pen. These
216: articles were then distributed in an old fashioned way: he sent copies
217: to a few friends and associates who then served as the source nodes of
218: the distribution centers. These short articles span over the period
219: of forty years. They are rarely longer than 15 pages and are
220: consecutively numbered.  The last one, No 1318 is from April 14, 2002.
221: Within computer science they are known as the EWD-reports, or,
222: simply the EWD's.
223: The early ones are not dated so it is difficult to ascertain their publication date.
224: 
225: A major change occurred when as part of the celebration of his 70th
226: birthday, the computer science department in Austin issued in 2000 a
227: CD-rom with most of the EWD-reports. They are also available from the
228: website \url{http://www.cs.utexas.edu/users/EWD/} maintained by Ham
229: Richards, with the more recent reports added.  This huge amount of
230: material, in total over 7700 pages, consists of scientific articles,
231: essays, position papers, conference and scientific trip reports, open
232: letters, speeches, and lately, increasingly often, elegant expositions
233: of solutions to well-known and less well-known combinatorial problems
234: and puzzles.
235: 
236: Dijkstra applied to his work a rigorous self-assessment procedure and
237: only a small fraction of the EWD's were eventually submitted to
238: refereed journals. As a result many of his contributions are not
239: well-known.
240: 
241: His handwriting was so perfect and distinct that in the late eighties
242: Luca Cardelli, then from the DEC Systems Research Center, designed a
243: ``Dijkstra'' font for Macintosh computers.  
244: Soon after, Dijkstra got a letter typeset in this font and thought
245: it was handwritten until news reached him about the
246: creation of this font.  Some of Dijkstra's colleagues occasionally
247: used this font in their slide presentations during the departmental
248: meetings in Austin.  Those curious to see his striking handwriting and
249: his extraordinarily elegant exposition style can download for example
250: his presentation of the perennial wolf, goat and cabbage puzzle (see
251: EWD 1255 from 2000).
252: 
253: In writing his elegance was unmatched. He could write about formal
254: issues in the form of an essay, with hardly any formulas.  His,
255: already discussed, paper ``Cooperating Sequential Processes'' is
256: perhaps the best example. Similarly, he was able to discuss (one
257: should rather say, derive) intricate algorithms in distributed
258: computing in a seemingly informal way, in plain prose, with just a few
259: simple formulas.  He wrote his articles in a unique style
260: characterized by conciseness, economy of argument, and clarity of
261: exposition. Each sentence was carefully chiseled. Each paragraph was
262: striking.
263: 
264: In fact, in all that he did he was a perfectionist to the utmost.  His
265: lectures were always impeccably delivered, often with a sense of
266: unique drama, and given only with a chalk and a blackboard, completely
267: out of his head. They were also highly entertaining because of his
268: sharp comments, striking turns of phrase, or curious quotations that
269: he used to put on the blackboard before starting his lecture.
270: In a classroom he would never ask an audience to keep silent.
271: Instead, he would lower his voice to the point of being hardly audible.
272: This trick was amazingly effective.
273: 
274: Starting in the late seventies he got interested in the subject of the
275: development and presentation of proofs. Some of these proofs were
276: surprising applications of his programming methodology to geometry or
277: algebra.  He criticized the use of implication, an unneeded reasoning
278: by cases, or the reasoning by contradiction.  Instead, he favoured the
279: proofs presented as chains of equivalences with each step justified as
280: an interlaced comment, and liked to stress the fact that the
281: equivalence is associative, a fact that logicians knew but apparently
282: never used.
283: 
284: He also designed his own notation for first-order logic that took
285: better care of the quantifiers with explicitly given ranges and 
286: in general thought nothing of mathematicians' disdain for presentation
287: and lack of attention to the notation. He even criticized the familiar
288: use of the $\Sigma$ for summation as sloppy and
289: misleading.  Moreover, he repeatedly argued for numbering starting from
290: zero, so his reports, from a certain moment on, invariably begin with
291: page 0, and when he was writing about $n$ processes, they were
292: invariably numbered $0, \dots, n-1$.  Also, he opposed using drawings
293: or examples to illustrate concepts, for example specific type of
294: graphs.
295: 
296: \section*{His Opinions}
297: 
298: In personal contacts with colleagues, he tended to appear stiff,
299: austere and aloof.  On some rare occasions he was even plainly rude,
300: like in the early eighties when in Utrecht he demonstratively left in
301: the middle of a lecture on computer networks given by a prominent
302: computer scientist from the Free University of Amsterdam, but only
303: after having bombarded him with questions about terminology. Several
304: years later, in Austin, he said ``Thank God'' in reaction to a comment
305: ``I am losing my voice'' uttered by a renowned computer scientist from
306: the MIT toward the end of her lecture. (A letter with apologies from
307: the department chairman promptly followed.)  But in informal, private
308: meetings in his office, he could be most charming, serving coffee to
309: students and making subtle one liner jokes of his own creation.
310: 
311: As a result of his reserved behaviour and uncompromising positions
312: he was disliked by a number of colleagues, in particular in the
313: Netherlands. They saw nothing in his prophet-like statements and
314: biting comments, often delivered from the back of the lecture room,
315: and directed against the hacker's approach to programming, against the
316: sloppily chosen notation, or expressing his disapproval of the badly
317: organized lecture.  Often this scepticism towards his opinions and
318: ideas could be simply explained by plain jealousy that his viewpoints
319: and articles were widely cited and discussed.  Consequently, when a
320: prominent speaker was sought for some important event in the
321: Netherlands, Dijkstra was usually passed over.
322: 
323: On a number of occasions, his extreme views became the standard
324: currency several years later.  For example, in 1968 he published a
325: two-page note ``Goto considered harmful'' that criticized the use of
326: the \texttt{goto} statement in programming languages.  It led to a
327: huge uproar. Thirty years later the \texttt{goto} statement shines by
328: its absence in Java, and the title ``idea x or construct y considered
329: harmful'' has been borrowed several times, most recently in an article
330: in the Communications of the ACM Vol. 45 (8), 2002.
331: 
332: His opinions on programming were often sharply criticized and hotly
333: debated, but they paved the way for the increased attention to
334: programming methodologies and use of formal methods for verifying
335: software for ``critical applications'', and contributed early to a
336: better understanding of the complexity involved in the programming
337: process.  In the end, if a spokesman was sought to elucidate the
338: problems of the ``software crisis'', the eyes turned invariably
339: towards Dijkstra.
340: 
341: Dijkstra enriched our vocabulary by numerous other terms, phrases and
342: slogans.  The widely used term ``structured programming'' was coined
343: in his elegant ``Notes on Structured Programming'' from 1972.  Another
344: slogan, ``separation of concerns'', so often used in software
345: engineering, goes back to his short note ``On the role of scientific thought''
346: from 1974 (EWD 447).
347: 
348: He could formulate his opinions with utmost clarity and with a
349: razor-sharp precision, so they lent themselves naturally to be used
350: as mottos to book chapters or articles, or as a justification for a
351: new line of research.  One could easily publish a booklet with his
352: aphorisms and strikingly refreshing statements about computers,
353: software, or computer science. 
354: 
355: These opinions could also lead to strong opposition from other
356: computer scientists, including prominent ones. Don Knuth wrote in 1974
357: a 40 pages long article titled ``Structured Programming with goto
358: Statements''.  Dijkstra's views on teaching computer science, 
359: presented during the ACM Computer Science Conference in February 1989
360: in a talk titled ``On the Cruelty of Really Teaching Computer Science''
361: led to a publication in the Communications of the ACM Vol. 32 (12), 1989 of ``A
362: debate on teaching computing science''. In this issue Richard Karp, Richard
363: Hamming and other prominent computer scientists criticized his
364: opinions as too extreme and too radical, in particular because of his
365: insistence that an introductory course in programming should be
366: primarily a course in formal mathematics, completely free of program
367: testing.
368: 
369: It should be also added that on some occasions Dijkstra's lack of
370: reception of new ideas seemed to stem from his inability to see
371: through a notation he disliked, his rejection of correctness proofs
372: based on operational reasoning (by this yardstick temporal logic was
373: ``out''), or from his resistance to absorb ideas that were presented
374: in a highly technical form.  Also, on a couple of occasions, his
375: refusal to acquaint himself with the basic literature in mathematical
376: logic led him astray, like his ``discovery'' that equivalence is
377: associative.  
378: 
379: In fact, his and Scholten's book ``Predicate Calculus and Program
380: Semantics'' received a devastating review by Egon B\"{o}rger in
381: Science of Computer Programming 23 (1994), pp. 1-11.  B\"{o}rger
382: showed how several laws of propositional calculus, the proofs of which
383: are ``spiced with pompous methodological comments'', can be proved in
384: a completely straightforward way using the approach of I.I.  Shegalkin
385: from 1928, in which each Boolean expression is represented as a
386: polynomial with the coefficients 0 or 1.  B\"{o}rger also harshly
387: criticized the highly biased account of the development of predicate
388: logic in which only selected few logicians were mentioned and in which
389: a straight line was drawn from Leibniz, through Boole to the authors.
390: To be fair, one should mention here that Dijkstra's and Scholten's
391: approach to proof presentation, together with a work of others, also
392: led to a development of what is now known as ``calculational logic''.
393: 
394: Such a cavalier approach to references was one of the reasons why some
395: colleagues resented Dijkstra.  In fact, bibliographic references were
396: never a strong point of Dijkstra's work, and most of his articles and
397: books have no references at all.  In the preface of his book ``A
398: Discipline of Programming'' he simply stated disarmingly ``For the
399: absence of a bibliography I offer neither explanation nor apology''.
400: 
401: All that was probably the small price he had to pay for being able to
402: focus on his own ideas and his own approach.  After all, in most of
403: what he did he was a pioneer and consequently an autodidact.
404: Apparently, to remain creative and highly original he had to shut off
405: other people's work. He would rather derive all results from first
406: principles, ignoring work done by others.  He was more interested in
407: the thought process behind the development of a result, rather than
408: the result itself.  In fact, most of his work has dealt with
409: methodology.
410: 
411: His strong personality combined with remarkable working habits and
412: definite opinions on how to conduct research appealed to many
413: researchers.  He seemed to believe that everyone should think, and
414: even behave, the way he did. This made him a natural prophet and
415: accounted for many of his idiosyncrasies.  He attracted a relatively
416: small but stable group of disciples, which included both PhD students
417: and highly renowned computer scientists, who adopted his writing style
418: and notation, his manners, use of a fountain pen, and occasionally
419: even his type of sandals.  
420: 
421: \section*{Life in Austin}
422: 
423: In Austin he found his second home.  He liked the United States and
424: its national parks and often spent vacation traveling around with his
425: wife in their Volkswagen bus, dubbed the Turing Machine.  When
426: operating on familiar territory, he was sociable and friendly.  He and
427: his wife would often drop in on friends and colleagues in the evening,
428: unannounced, for a social half hour.  He was also often most helpful
429: and with an original sense of humour.  When asked once how many PhD
430: students he had, he replied with a smile: ``Two.  Einstein had none''.
431: (Eventually, Dijkstra had four PhD students: Nico Haberman, who for
432: several years was the head of the Computer Science Department at
433: Carnegie Mellon University, Martin Rem, who became the president of
434: the Technical University of Eindhoven, Netty van Gasteren, who till
435: her recent untimely death worked at the same University, and David
436: Naumann who works at the Stevens Institute of Technology, in Hoboken,
437: NJ and who had Dijkstra and Tony Hoare as PhD supervisors.)
438: 
439: He was liked and respected by his colleagues, who were struck by his
440: unassuming behaviour.  J Strother Moore once remarked about
441: Dijkstra's collegial attitude during departmental meetings: ``Edsger
442: is a great faculty member. He believes in the principle `one person,
443: one vote' and sticks to it''. In fact, Dijkstra never mingled in 
444: university politics and always stayed outside of conflicts. At the
445: same time he was extremely perceptive about people and could
446: immediately recognize who was a dedicated scientist and who was a
447: disguised politician.
448: 
449: He often attended lectures of invited speakers and would do his
450: best to closely follow them till the very end.  His courses for
451: students in Austin had little to do with computer science: they dealt
452: with the presentation of mathematical proofs.  Actually, on the
453: Department's home page, one could read the following terse summary of
454: his research: `` My area of interest focuses on the streamlining of
455: the mathematical argument so as to increase our powers of reasoning,
456: in particular, by the use of formal techniques''.  During the course
457: he would ask students to write up proofs of the elementary
458: mathematical problems he discussed during the class and next time he
459: returned them with detailed comments such as ``Many sins of omissions''.
460: 
461: He was also highly original in his way of assessing people's capacity
462: for a job. When Vladimir Lifschitz came to Austin in 1990 for a job
463: interview, Dijkstra gave him a puzzle. Vladimir solved it and
464: has been working in Austin since then.
465: 
466: Dijkstra's scientific life in Austin was very different from a typical
467: computer science researcher. To my knowledge he never submitted a
468: research grant proposal, did not participate in any conference program
469: committee, and did not attend a conference unless as an invited
470: speaker.  He read scientific articles mostly by recommendation and
471: preferred to rely on direct communication with a small group of
472: colleagues which included some of the most famous computer scientists.
473: In fact, with many colleagues and friends he maintained a letter
474: correspondence that occasionally would span a couple of decades.  He
475: started to use email just a couple of years ago, relying before then
476: on fax and handwritten letters as means of communication.
477: 
478: \section*{Lifestyle}
479: 
480: As a scientist Dijkstra was a model of honesty and integrity.  Most of
481: his publications were written by him alone. The few publications that
482: he wrote jointly with his colleagues bear the unmistakable trait of
483: his writing style.  He never had a secretary and took care of all his
484: correspondence alone.  He never sought funds in the form of grants or
485: consulting and never lent his name to the initiatives to which he
486: would not contribute in a substantial way.  When colleagues prepared a
487: festschrift for his sixtieth birthday, published by Springer-Verlag,
488: he took the trouble to thank each of the sixty one contributors
489: separately, in a hand-written letter.
490: 
491: His supreme self-confidence went together with a remarkably modest
492: life style, to the point of being spartan. His and his wife's house in
493: Nuenen is simple, small and unassuming.  He did not own a TV, a VCR,
494: or a mobile telephone and did not go to the movies.  In contrast, he
495: played the piano remarkably well and, while in Austin, liked to go to
496: the concerts. He also liked to tackle difficult crossword puzzles in
497: Dutch and would not hesitate to send his solutions to the newspaper.
498: 
499: \section*{Legacy}
500: 
501: Dijkstra's immense intellectual courage and audacity, and deep, yet
502: strikingly simple and elegant, ideas changed the course of computer
503: science.  His integrity as a scientist and as a person in private life
504: cannot be matched.  His views on science in general and on research in
505: particular were of remarkable depth and originality.  As J Strother
506: Moore, the chairman of the Computing Science Department at Austin,
507: said during Dijkstra's funeral: ``He was like a man with a light
508: in the darkness. He illuminated virtually every issue he discussed.''
509: In short, he was a genius.  In computer science we are all Dijkstra's
510: children.
511: 
512: \section*{Acknowledgements}
513: Ria Dijkstra made us aware that several concepts were introduced by
514: Dijkstra considerably earlier. Wim Feijen, David Gries 
515: and Paul
516: Vit\'{a}nyi offered critical comments on the initial version and
517: supplied useful corrections and additional information.  Leslie
518: Lamport provided helpful historical comments.
519: \end{document}
520: 
521: 
522: 
523: