Donald Knuth

Donald Knuth
Donald Ervin Knuthis an American computer scientist, mathematician, and professor emeritus at Stanford University...
NationalityAmerican
ProfessionMathematician
Date of Birth10 January 1938
CountryUnited States of America
Donald Knuth quotes about
writing design important
... the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. ... If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.
writing should-have ideas
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird.
writing thinking next-week
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.
inspirational mean writing
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
book writing learning
...One of the most important lessons, perhaps, is the fact that SOFTWARE IS HARD. From now on I shall have significantly greater respect for every successful software tool that I encounter. During the past decade I was surprised to learn that the writing of programs for TeX and Metafont proved to be much more difficult than all the other things I had done (like proving theorems or writing books). The creation of good software demand a significiantly higher standard of accuracy than those other things do, and it requires a longer attention span than other intellectual tasks.
writing style sitting
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.
evil premature root
Premature optimization is the root of all evil (or at least most of it) in programming.
achievement both complexity composing consistent emotional establish experience feeling master poetry prepare system
My feeling is that when we prepare a program, the experience can be just like composing poetry or music; as Andrei Ershov has said, programming can give us both intellectual and emotional satisfaction, because it is a real achievement to master complexity and to establish a system of consistent rules.
ideas two taste
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.
years facts spending
In fact, my main conclusion after spending ten years of my life working on the T E X project is that software is hard. It's harder than anything else I've ever had to do.
years levels computer
I can't be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It's at that level.
strong opportunity thinking
Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
science technology mathematics
A mathematical formula should never be "owned" by anybody! Mathematics belong to God.
It is much more rewarding to do more with less.