<<

Edsger W. Dijkstra

Edsger Wybe Dijkstra 1930 - 2002 Professor Edsger Wybe Dijkstra, born 11 May 1930 and a noted pioneer of the science and industry of , died on 6 August 2002 at his home in Neunen, the Netherlands. Dijkstra was born in 1930 in Rotterdam, The Netherlands, the son of a chemist father and a mathematician mother. He graduated from the Gymnasium Erasmianum in Rotterdam and obtained degrees in mathematics and theoretical physics from the University of Leyden and a Ph.D. in computing science from the University of Amsterdam. He worked as a at the Mathematisch Centrum, Amsterdam, 1952-62; was professor of mathematics, Eindhoven University of Technology, 1962-1984; and was the Burroughs Corporation research fellow, 1973-1984. He teached Computing Sciences at the University of Texas at Austin, 1984-1999, and retired as Professor Emeritus in 1999.

"In their capacity as a tool, will be but a ripple on the surface of our culture. In their capacity as an intellectual challenge, they are without precedent in the cultural of mankind." — E. W. Dijkstra, acceptance speech 1972 Dijkstra is renowned for the insight that mathematical logic is and must be the basis for sensible construction and for his contributions to mathematical methodology. He is well known for his amazingly efficient shortest path and for having designed and coded the first Algol 60 . He was famously the leader in the abolition of the GOTO statement from programming (1968) and the first to use and describe the expression ’’ (1969). Dijkstra was notorious for his wit, eloquence, and way with words, such as in his remark "The question of whether computers can think is like the question of whether submarines can swim".

Younger won't remember how Dijkstra's letter "Go To Statement Considered Harmful" (reprinted in Ed Yourdon's Classics in ) affected our community when it first appeared as a letter in the 1968 March issue of The Communications of the ACM.

”… I discovered why the use of the GO TO statement has such disastrous effects and did I become convinced that the GO TO statement shoul be abolished from all ”higher level” programming languages.”

”The GO TO statement as it stands is just too primitive, it is too much an invitation to make a mess of one’s program”

Copyright © 29-04-2003 Wilfred Glud Programmering - www.gluud.net Edsger W. Dijkstra

Today's 20-something IT workforce lives, works, and functions in a world defined by that letter — which pretty much abolished GO TO statements from — but can't possibly conceive of what things were like before its publication any more than they could imagine a flat earth.

Before Dijkstra, we wrote programs that depended on a particular machine's hardware and made hit-and-miss attempts at finding the right for the bad specs we were given. It was handicraft with, at best, bad tools. Goto-debat varede fra 1968 til ca. 1978 .Var et stort problem fordi de første programmører og alle lærere var opdraget på 2. generations computere/sprog, hvor det primære var at spare plads i memory. Feks. Kun 128 kb memory, Den første OS360 med 512 kb, diske og SWAP-pages var en revolution! For at spare plads hopper man frem og tilbage, hvor man kunne genbruge nogle få linier kode (resultatet blev den såkaldte spagettikode, hvor overblik var umuligt).

”Our intellectuel powers are rather geared to master static relations and our powers o visiulize evolving in time are relatively poorly developed. For that reason should we (as wise programmers aware of our limitations) our utmost best to shorten the conceåptual gap between the statoic program and the dynamic , to make teh correspondance between the program (spread out in text space) and the process (spread out in time) as trivial as possible.” Dijkstra introduced the idea that programming could be built in an orderly fashion using mathematical logic. Programming thereafter evolved from an individuel art, to technique, to handicraft and engineering, and finally, to a science.

”The comtetent programmer is fully aware of the stricly limited size og his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.” - The Humple Programmer EDW340 1972

”Pålidelig programmering” er også et begreb der kommer fra Dijkstra, og omfatter 4 punkter: 1) Programmer skal være korrekte

2) (testkørsler) er utilstrækkeligt til at nå dette mål og vi må kunne bevise korrekthed i et program.

3) Vi må derfor tilpasse vore programmer til behovet for at bevise korrekthed.

4) Programmering bliver mere og mee en matematisk aktivitet ( … at anvende effektiv struktur til en ellers uoverskuelig kompleksitet). On the reliebility of programs - EDW303

Copyright © 29-04-2003 Wilfred Glud Programmering - www.gluud.net Edsger W. Dijkstra

”The teaching of prohgrammiing comprises the teaching of facts -- facts about systems. Machines, programming languages etc.-- and it is very easy to be explicit about them, but the trouble is that these facts represent about 10 % of what has to be taught: theh remaining 90 % is problem solving and how to avoid unmastered complexity, in short : it is the teaching of thinking, no more no .” ”I concluded that the intellectual challange presented by the programming taskis, indeed, as unprecedented as the high-speed automatic computer itself. And it had caused in my mind a shift of attation from ”how to discover the unexpected” towards ”how to avoid unmastered complexity”, towards ”how to reduce the demands made on our quantitatively limited powers of reasoning”. ” Vi bør derfor - undgå ukontrolleret kompleksitet - reducere kravene til vores kvantitativt begrænsede evner til at følge logik. Craftsman or scientist EDW480 April 1975

o In Pursuit of Simplicity - the manuscripts of Edsger W. Dijkstra. Dijkstra was a prodigious writer. His entire collection of over thirteen hundred written works was digitally scanned and is accessible at http://www.cs.utexas.edu/users/EWD/ o Link EWD215 - A case against the GO TO statement (PDF) (1968, 4 sider) o Link EWD268 - Structured programming (PDF) (1969, 4 sider) o Link EWD340 - The humble programmer (PDF) (1972, 16 sider) o Dikstra portrait (PDF)

Copyright © 29-04-2003 Wilfred Glud Programmering - www.gluud.net