Edsger Wybe Dijkstra quotes
From Motley Bytes Wiki
Edsger Wybe Dijkstra. (1930 - 2002). Dutch systems scientist, programmer, software engineer, science essayist, educator, physicist.
Contents
- 1 Two Kinds of System Designers
- 2 Big Machines Big Problems
- 3 Humble Programmers
- 4 Testing Bug Presence
- 5 Black Box Correctness
- 6 Art of Programming
- 7 Competent Programmer
- 8 Competent Programming
- 9 Advice
- 10 Programming Dogmatism
- 11 Powers of Abstraction
- 12 Math and Language
- 13 Simplicity and Reliability
- 14 Programming is Difficult
- 15 Machines Can Think
- 16 Simplicity
- 17 Lines of Code
- 18 Formulas
- 19 Information Knowledge Understanding Wisdom
- 20 Effective Reasoning
- 21 Society Wants and Needs
- 22 Programming Styles
- 23 Dijkstra Algorithm
- 24 Software Crisis
Two Kinds of System Designers
“There are two classes of system designers. The first, if given five problems will solve them one at a time. The second will come back and announce that these aren’t the real problems, and will eventually propose a solution to the single problem which underlies the original five. This is the ‘system type’ who is great during the initial stages of a design project. However, you had better get rid of him after the first six months if you want to get a working system.”
- Source: Edsger Wybe Dijkstra in a report entitled Software Engineering: Report of a Conference Sponsored by the NATO Science Committee. Chaired by Friedrich Ludwig Bauer. Edited by P. Naur; B. Randell. Conference held 1968-10-07 through 1968-10-11 in Garmisch, Germany. OCLC: 35337842. See http://homepages.cs.ncl.ac.uk
/brian.randell /NATO /index.html; http://homepages.cs.ncl.ac.uk /brian.randell /NATO /nato1968.PDF; https://dl.acm.org /citation.cfm ?id=1102020; https://books.google.com /books/about /Software_engineering.html ?id=Uc9QAAAAYAAJ. Page 20.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Two_Kinds_of_System_Designers
Big Machines Big Problems
“As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.”
- Source: Edsger Wybe Dijkstra in an article entitled The Humble Programmer. Written by Edsger W. Dijkstra. Published 1972 in Communications of the ACM, volume 15, number 10. DOI: 10.1145/355604.361591.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Big_Machines_Big_Problems
Humble Programmers
"We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers."
- Source: Edsger Wybe Dijkstra in an article entitled The Humble Programmer. Written by Edsger W. Dijkstra. Published 1972 in Communications of the ACM, volume 15, number 10. DOI: 10.1145/355604.361591.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Humble_Programmers
Testing Bug Presence
“Testing shows the presence, not the absence of bugs.“
- Source: Dijkstra (1969) J.N. Buxton and B. Randell, eds, Software Engineering Techniques, April 1970, p. 16. Report on a conference sponsored by the NATO Science Committee, Rome, Italy, 27–31 October 1969.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Testing_Bug_Presence
Black Box Correctness
“A convincing demonstration of correctness being impossible as long as the mechanism is regarded as a black box, our only hope lies in not regarding the mechanism as a black box.”
- Source: Dijkstra (1970) "Notes On Structured Programming" (EWD249), Section 3 ("On The Reliability of Mechanisms"), p. 5. Retrieved from http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Black_Box_Correctness
Art of Programming
“The art of programming is the art of organizing complexity, of mastering multitude and avoiding its bastard chaos as effectively as possible.”
- Source: Dijkstra (1970) "Notes On Structured Programming" (EWD249), Section 3 ("On The Reliability of Mechanisms"), p. 7. Retrieved from http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Art_of_Programming
Competent Programmer
“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.”
- Source: Dijkstra (1972) The Humble Programmer (EWD340). Retrieved 2022 from http://www.cs.utexas.edu
/users/EWD /transcriptions /EWD03xx /EWD340.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Competent_Programmer
Competent Programming
“Don't blame me for the fact that competent programming, as I view it as an intellectual possibility, will be too difficult for 'the average programmer' — you must not fall into the trap of rejecting a surgical technique because it is beyond the capabilities of the barber in his shop around the corner.”
- Source: Dijkstra (1975) Comments at a Symposium (EWD 512). Retrieved from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD05xx /EWD512.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Competent_Programming
Advice
"One moral of the above story is, of course, that we must be very careful when we give advice to younger people; sometimes they follow it!"
- Source: Dijkstra (1972) The Humble Programmer (EWD340). Retrieved 2022 from http://www.cs.utexas.edu
/users/EWD /transcriptions /EWD03xx /EWD340.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Advice
Programming Dogmatism
"Please don't fall into the trap of believing that I am terribly dogmatic about [the go to statement]. I have the uncomfortable feeling that others are making a religion out of it, as if the conceptual problems of programming could be solved by a simple trick, by a simple form of coding discipline!"
- Source: Dijkstra (1973) in personal communication to Donald Knuth, quoted in Knuth's “Structured Programming with go to Statements”, online at https://pic.plover.com
/knuth-GOTO.pdf retrieved 2022.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Programming_Dogmatism
Powers of Abstraction
“The effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer.”
- Source: The Humble Programmer (1972), 1972 Turing Award Lecture[1], Communications of the ACM 15 (10), October 1972: pp. 859–866.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Powers_of_Abstraction
Math and Language
“Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.”
- Source: Dijkstra (1975). How do we tell truths that might hurt? (numbered EWD498, written 1975). Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD04xx /EWD498.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Math_and_Language
Simplicity and Reliability
“Simplicity is prerequisite for reliability.”
- Source: Dijkstra (1975). How do we tell truths that might hurt? (numbered EWD498, written 1975). Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD04xx /EWD498.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Simplicity_and_Reliability
Programming is Difficult
“Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians.”
- Source: Dijkstra (1975). How do we tell truths that might hurt? (numbered EWD498, written 1975). Retrieved from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD04xx /EWD498.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Programming_is_Difficult
Machines Can Think
“The question of whether Machines Can Think... is about as relevant as the question of whether Submarines Can Swim.”
- Source: Dijkstra (1984) The threats to computing science (EWD898). Retrieved from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD08xx /EWD898.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Machines_Can_Think
Simplicity
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”
- Source: Dijkstra (1984) On the nature of Computing Science (EWD896). Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD08xx /EWD896.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Simplicity
Lines of Code
“My point today is that, if we wish to count lines of code, we should not regard them as 'lines produced' but as 'lines spent': the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger.”
- Source: Dijkstra (1988) On the cruelty of really teaching computing science (EWD1036). Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD10xx /EWD1036.html
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Lines_of_Code
Formulas
“A picture may be worth a thousand words, a formula is worth a thousand pictures.”
- Source: Dijkstra (1996). EWD1239: A first exploration of effective reasoning. Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /ewd12xx /EWD1239.PDF.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Formulas
Information Knowledge Understanding Wisdom
“May, in spite of all distractions generated by technology, all of you succeed in turning information into knowledge, knowledge into understanding, and understanding into wisdom.”
- Source: Dijkstra (1996). On December 8, 1996 Edsger Dijkstra addressed the graduates of the College of Natural Sciences of the University of Texas at Austin. Retrieved 2022 from https://www.cs.utexas.edu
/users /vl /notes /dijkstra.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Information_Knowledge_Understanding_Wisdom
Effective Reasoning
“The required techniques of effective reasoning are pretty formal, but as long as programming is done by people that don't master them, the software crisis will remain with us and will be considered an incurable disease. And you know what incurable diseases do: they invite the quacks and charlatans in, who in this case take the form of Software Engineering gurus.”
- Source: Dijkstra (2000). Answers to questions from students of Software Engineering (EWD 1305). Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD13xx /EWD1305.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Effective_Reasoning
Society Wants and Needs
“It is not the task of the University to offer what society asks for, but to give what society needs.”
- Source: Dijkstra (2000). Answers to questions from students of Software Engineering (EWD 1305). Retrieved 2022 from http://www.cs.utexas.edu
/users /EWD /transcriptions /EWD13xx /EWD1305.html.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Society_Wants_and_Needs
Programming Styles
“There are very different programming styles. I tend to see them as Mozart versus Beethoven. When Mozart started to write, the composition was finished. He wrote the manuscript and it was 'aus einem Guss' (from one cast). In beautiful handwriting, too. Beethoven was a doubter and a struggler who started writing before he finished the composition and then glued corrections onto the page. In one place he did this nine times. When they peeled them, the last version proved identical to the first one.”
- Source: Dijkstra (2001) Source: Denken als discipline, a program from Dutch public TV broadcaster VPRO from April 10th, 2001 about Dijkstra.
- See Also:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Programming_Styles
- Keywords: Programming_quotes Style_quotes Differences_quotes Music_quotes Creativity_quotes Correction_quotes Mozart(topic)_quotes Beethoven(topic)_quotes Write_quotes Composition_quotes Finish_quotes Manuscript_quotes Beautiful_quotes Handwriting_quotes Doubt_quotes Struggle_quotes Glue_quotes Page_quotes Peel_quotes Version_quotes Identical_quotes First_quotes Last_quotes
Dijkstra Algorithm
“What is the shortest way to travel from Rotterdam to Groningen, in general: from given city to given city. It is the algorithm for the shortest path, which I designed in about twenty minutes. One morning I was shopping in Amsterdam with my young fiancée, and tired, we sat down on the café terrace to drink a cup of coffee and I was just thinking about whether I could do this, and I then designed the algorithm for the shortest path. As I said, it was a twenty-minute invention. In fact, it was published in ’59, three years late. The publication is still readable, it is, in fact, quite nice. One of the reasons that it is so nice was that I designed it without pencil and paper. I learned later that one of the advantages of designing without pencil and paper is that you are almost forced to avoid all avoidable complexities. Eventually that algorithm became, to my great amazement, one of the cornerstones of my fame.”
- Source: Dijkstra (2001), in an interview with Philip L. Frana. (OH 330; Communications of the ACM 53(8):41–47)
- See All:
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Dijkstra_Algorithm
Software Crisis
“The turning point was the Conference on Software Engineering in Garmisch, October 1968, a conference that created a sensation as there occurred the first open admission of the software crisis.”
- Source: Dijkstra, E. W. (1972). The Humble Programmer. Communications of the ACM, 15(10). https://doi.org
/10.1145 /355604.361591
- See Also"
- Edsger_Wybe_Dijkstra_quotes
- Edsger_Wybe_Dijkstra_quotes/Software_Crisis