Donald Knuth Quotes

computer scientist and Professor Emeritus at Stanford University.

Premature optimization is the root of all evil. Programming is the art of telling another human being what one wants the computer to do. It is much more rewarding to do more with less. I think people who write programs do have at least a glimmer of extra insight into the nature of God... because creating a program often means that you have to create a small universe [The Euclidean algorithm is] the granddaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day. My general working style is to write everything first with pencil and paper, sitting beside a big wastebasket. Then I use Emacs to enter the text into my machine. The most important thing in the kitchen is the waste paper basket and it needs to be centrally located. I've never been a good estimator of how long things are going to take. There's ways to amuse yourself while doing things and thats how I look at efficency. In fact what I would like to see is thousands of computer scientists let loose to do whatever they want. That's what really advances the field. I'm obsessively detail-oriented. God is a challenge because there is no proof of his existence and therefore the search must continue. Programs are meant to be read by humans and only incidentally for computers to execute. When you write a program, think of it primarily as a work of literature. You're trying to write something that human beings are going to read. Don't think of it primarily as something a computer is going to follow. The more effective you are at making your program readable, the more effective it's going to be: You'll understand it today, you'll understand it next week, and your successors who are going to maintain and modify it will understand it. AI has by now succeeded in doing essentially everything that requires 'thinking' but has failed to do most of what people and animals do 'without thinking'-that, somehow, is much harder. Everyday life is like programming, I guess. If you love something you can put beauty into it. Any inaccuracies in this index may be explained by the fact that it has been prepared with the help of a computer. I decry the current tendency to seek patents on algorithms. There are better ways to earn a living than to prevent other people from making use of one's contributions to computer science. The process of preparing programs for a digital computer is especially attractive, not only because it can economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music. The enjoyment of one's tools is an essential ingredient of successful work. These machines have no common sense; they have not yet learned to 'think,' and they do exactly as they are told, no more and no less. This fact is the hardest concept to grasp when one first tries to use a computer TeX has found at least one bug in every Pascal compiler it's been run on, I think, and at least two in every C compiler Meta-design is much more difficult than design; it's easier to draw something than to explain how to draw it. I remember that mathematicians were telling me in the 1960s that they would recognize computer science as a mature discipline when it had 1,000 deep algorithms. I think we've probably reached 500. I try to learn certain areas of computer science exhaustively; then I try to digest that knowledge into a form that is accessible to people who don't have time for such study. The best programs are written so that computing machines can perform them quickly and so that human beings can understand them clearly. A programmer is ideally an essayist who works with traditional aesthetic and literary forms as well as mathematical concepts, to communicate the way that an algorithm works and to convince a reader that the results will be correct. Whenever the C++ language designers had two competing ideas as to how they should solve some problem, they said, 'OK, we'll do them both'. So the language is too baroque for my taste. Programming is legitimate and necessary academic endeavour. It would be nice if we could design a virtual reality in Hyperbolic Space, and meet each other there. People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones.

Page 1 of 3, showing 1 to 30 of 77 results