Slashdot Mirror


Edsger Wybe Dijkstra: 1930-2002

Order writes "Edsger Wybe Dijkstra, one of the founding fathers of computer science and the author of the famous "Go To Considered Harmful", has died on Aug. 6, 2002 after a long struggle with cancer."

15 of 404 comments (clear)

  1. Contents of article by Anonymous Coward · · Score: 1, Informative

    (in case of the infamous /. effect)

    Edsger Wybe Dijkstra: 1930-2002

    Professor Edsger Wybe Dijkstra, a noted pioneer of the science and industry of computing, died after a long struggle with cancer on 6 August 2002 at his home in Nuenen, 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 programmer at the Mathematisch Centrum, Amsterdam, 1952-62; was professor of mathematics, Eindhoven University of Technology, 1962-1984; and was a Burroughs Corporation research fellow, 1973-1984. He held the Schlumberger Centennial Chair in Computing Sciences at the University of Texas at Austin, 1984-1999, and retired as Professor Emeritus in 1999.

    Dijkstra is survived by his wife of over forty years, Maria (Ria) C. Dijkstra Debets, by three children, Marcus J., Femke E., and computer scientist Rutger M. Dijkstra, and by two grandchildren.

    Dijkstra was the 1972 recipient of the ACM Turing Award, often viewed as the Nobel Prize for computing. He was a member of the Netherlands Royal Academy of Arts and Sciences, a member of the American Academy of Arts and Sciences, and a Distinguished Fellow of the British Computer Society. He received the 1974 AFIPS Harry Goode Award, the 1982 IEEE Computer Pioneer Award, and the 1989 ACM SIGCSE Award for Outstanding Contributions to Computer Science Education. Athens University of Economics awarded him an honorary doctorate in 2001. In 2002, the C&C Foundation of Japan recognized Dijkstra "for his pioneering contributions to the establishment of the scientific basis for computer software through creative research in basic software theory, algorithm theory, structured programming, and semaphores".

    Dijkstra is renowned for the insight that mathematical logic is and must be the basis for sensible computer program construction and for his contributions to mathematical methodology. He is responsible for the idea of building operating systems as explicitly synchronized sequential processes, for the formal development of computer programs, and for the intellectual foundations for the disciplined control of nondeterminacy. He is well known for his amazingly efficient shortest path algorithm and for having designed and coded the first Algol 60 compiler. He was famously the leader in the abolition of the GOTO statement from programming.

    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. He also corresponded regularly with hundreds of friends and colleagues over the years --not by email but by conventional post. He strenuously preferred the fountain pen to the computer in producing his scholarly output and letters.

    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"; his advice to a promising researcher, who asked how to select a topic for research: "Do only what only you can do"; and his remark in his Turing Award lecture "In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind."

    Dijkstra enriched the language of computing with many concepts and phrases, such as structured programming, separation of concerns, synchronization, deadly embrace, dining philosophers, weakest precondition, guarded command, the excluded miracle, and the famous "semaphores" for controlling computer processes. The Oxford English Dictionary cites his use of the words "vector" and "stack" in a computing context.

    Dijkstra enjoyed playing Mozart for his friends on his Boesendorfer piano. He and his wife had a fondness for exploring state and national parks in their Volkswagen bus, dubbed the Touring Machine, in which he wrote many technical papers.

    Throughout his scientific career, Dijkstra formulated and pursued the highest academic ideals of scientific rigour untainted by commercial, managerial, or political considerations. Simplicity, beauty, and eloquence were his hallmarks, and his uncompromising insistence on elegance in programming and mathematics was an inspiration to thousands. He judged his own work by the highest standards and set a continuing challenge to his many friends to do the same. For the rest, he willingly undertook the role of Socrates, that of a gadfly to society, repeatedly goading his native and his adoptive country by remarking on the mistakes inherent in fashionable ideas and the dangers of time-serving compromises. Like Socrates, his most significant legacy is to those who engaged with him in small group discussions or scientific correspondence about half-formulated ideas and emerging discoveries. Particularly privileged are those who attended his reading groups in Eindhoven and Austin, known as the "Tuesday Afternoon Clubs".

    At Dijkstra's passage, let us recall Phaedo's parting remark about Socrates: "we may truly say that of all the men of his time whom we have known, he was the wisest and justest and best."

    1. Re:Contents of article by Kook9 · · Score: 1, Informative

      Well, I was finally able to get the page discussing the evils of 'Goto' to come up. I think I understand his gripes about it, although I'm still puzzled as to why it needed to be 'abolished'.

      "goto" is the enemy of procedural programming for one simple reason: if you jump outside of a method body, you completely destroy the program state (local variables, parameters, the call stack). "goto" spaghetti was fine in the early days of machine/assembly code and Fortran, but as program complexity grows, it is clearly preferable to encapsulate your code in procedures with local variables and cleanly defined entry/exit points. Using "goto" within the context of a block is harmless, but also useless provided a rich enough set of control structures (if/then, while, for, etc.).

  2. Rememberances of Dr. Dijkstra by husker_man · · Score: 2, Informative

    I remember when Tulsa U. brought in Dr. Dijkstra back in the spring of 1984. He spoke at length about software design principles, and how design was the lynchpin of good systems. He was there only for a day, and had insisted on taking time out to talk to anyone interested in hearing him. I'm very glad that TU invited the Computer Science students from ORU over to hear him.

    The Computer Science profession has lost another giant.

  3. EWD Archives by charvolant · · Score: 5, Informative
    For more of his writings, the Edsger W. Dijkstra Archives contains a lot of interesting/insightful/amusing writings.

    A pity he's gone.

  4. More articles by devphil · · Score: 5, Informative


    Some links from my article that slashdot rejected some hours ago: the University of Texas announcement has a list of his awards and discoveries. (He taught at UT.) A brief paper (in PDF, it's scanned from a handwritten paper for CACM if I recall) shows his brilliant, clear, and concise methods of thought and writing.

    If you ever used an application that made use of shortest-path searching -- say, any real-time strategy game -- then you owe this man a debt of gratitude.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  5. Re:How do you pronounce his last name? by Anonymous Coward · · Score: 1, Informative

    Dike-Stra

  6. Some quotes of Edsger Dijkstra by Raindeer · · Score: 5, Informative

    I found the quotes here: http://www.cse.iitb.ac.in:8000/~rkj/dijkstraquotes .html I paste them here in full to counter the slashdot effect.

    Some Quotes of Edsger Dijkstra
    "Always design your programs as a member of a whole family of programs, including those that are likely to succeed it"

    "Separate Concerns"

    "A Programming Language is a tool that has profound influence on our thinking habits"

    "The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague" (from 1972 Turing Award Lecture)

    "Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code"

    "Program testing can best show the presence of errors but never their absence"

    "I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself, "Dijkstra would not have liked this", well that would be enough immortality for me"

    And then my quote :-) -->

    1. Re:Some quotes of Edsger Dijkstra by 2b|!2b · · Score: 4, Informative

      I've always liked "Object-oriented programming is an exceptionally bad idea which could only have originated in California."

      --
      It's nice to be liked, but it's better by far to get paid
  7. He did so much more... by Kook9 · · Score: 5, Informative

    It's a shame that /. seems to think "Go To Considered Harmful" is Dijkstra's signature achievement. He was profoundly influential in developing the theory of operating systems. He was one of the first proponents of layered design. He also did pioneering work in mutual exclusion (IIRC, he invented semaphores) and deadlock. In short, he is responsible for a lot of the fundamental concepts that we use to build complex systems today.

  8. Final Exception() by mcc · · Score: 1, Informative

    Out of respect for the dead man, let us frame this instead in terms of structured programming; Perhaps call/cc. We could think of it as if our souls are continuations that God passes us at birth, and... no. I've lost you, haven't i. Let's start over

    OK, here's a much better one: exception handling. Things like organ failure raise exceptions; death is just what happens when an exception isn't caught, and program flow drops back into the primordial brahman from whence all things come. Here is the stack trace for E. Dijkstra:

    Process exited unexpectedly
    Exception in thread "endocrine" life.cell.Exception.Cancer: "Heart not responding"
    at life.entity.vertabrate.human.dijkstra.Edsger.Liver .maintainCell( Vitalsigns.protein:1241412 )
    at life.entity.vertabrate.human.dijkstra.Edsger.Liver .processInput( Vitalsigns.protein:954423 )
    at life.entity.vertabrate.human.dijkstra.Edsger.main( homonculus.protein:3423245 )


    See? Like Dijkstra said. No need for goto in an intelligently designed language.

    To be serious for a second, though, we're all talking about Goto Considered Harmful because that's the one thing we've all read. This man did a bunch of other stuff. If i knew more about computer history i'd mention some of the stuff he did, but to be honest i don't really know what all he did :) I do know, however, that do a google search for the man, and you won't get Goto Considered Harmful. You'll mostly, in fact, get pages discussing his Shortest Path Algorithm.

    It may suffice to say this, before i go: In the Computers->History->Pioneers section of google.com's Web Directory section, exactly 33 people are listed (People like Tim Berners-Lee, Grace Hopper, and Alan Turing).

    Dijkstra is one of them.

    If that isn't 'net immortality, then i don't know what is.

    1. Re:Final Exception() by sbaker · · Score: 3, Informative

      If you know him for nothing else, Dijkstra's Semaphores (aka P and V operators) are a fundamental construct in pretty much any parallel processing environment. Many CPU's have Dijkstra's semephores implemented at the hardware level. It's hard to think of anyone else who has such a fundamental construct named after them. OK, maybe 'Booleans' and the long defunct "Hollerith String".

      --
      www.sjbaker.org
  9. They're scanned and webbed already by phr2 · · Score: 4, Informative
  10. Re:Let's See... by Kharny · · Score: 2, Informative

    Hmm... This might be nice, The problem is that Mr Dijkstra's name comes from the northern part of the netherlands. This 'state' or province as we call it has an own language, with different pronouncement. My go at it:
    Normal Dutch:
    D'ii'kstra: the ij is pronounced a bit strange, it is hard to explain......
    Fries:(northern language/accent)
    D'ee'kstroa : the ee is pronounced as in english the seperate e but longer.

    --
    Make a man a fire and he will be warm for a day, set a man on fire and he will be warm for the rest of his life
  11. Re:A great loss... by Feldmrschl · · Score: 2, Informative

    Although I understand your sentiment, not only did Ted Williams defend his country in two wars, or one war and one "police action", he also did a lot of work for the Jimmy Fund, a charity that supports the Dana Farber Cancer Institute (back then it was called the Children's Cancer Research Foundation). I wouldn't characterize that as someone "who for the most part didn't do a damn thing to really and truly improve our lives."

    Facts about Ted Williams and the Jimmy Fund

  12. Even more Dijkstra quotes by Lumpish+Scholar · · Score: 3, Informative

    It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration.

    APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.

    The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.

    When FORTRAN has been called an infantile disorder, PL/I, with its growth characteristics of a dangerous tumor, could turn out to be a fatal disease.

    COBOL is for morons.

    With respect to COBOL you can really do only one of two things: fight the disease or pretend that it does not exist.

    The question of whether computers can think is like the question of whether submarines can swim.

    --
    Stupid job ads, weird spam, occasional insight at