Donald Knuth

Image of Donald Knuth
Science is what we understand well enough to explain to a computer. Art is everything else we do.
- Donald Knuth
Collection: Science
Image of Donald Knuth
Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
- Donald Knuth
Collection: Attitude
Image of Donald Knuth
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.
- Donald Knuth
Collection: Computers
Image of Donald Knuth
Everyday life is like programming, I guess. If you love something you can put beauty into it.
- Donald Knuth
Collection: Beauty
Image of Donald Knuth
Beware of bugs in the above code; I have only proved it correct, not tried it.
- Donald Knuth
Image of Donald Knuth
An algorithm must be seen to be believed.
- Donald Knuth
Image of Donald Knuth
If you optimize everything, you will always be unhappy.
- Donald Knuth
Image of Donald Knuth
I've never been a good estimator of how long things are going to take.
- Donald Knuth
Image of Donald Knuth
A list is only as strong as its weakest link.
- Donald Knuth
Image of Donald Knuth
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 eachother, like a wall of mini stones.
- Donald Knuth
Image of Donald Knuth
The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.
- Donald Knuth
Image of Donald Knuth
The hardest thing is to go to sleep at night, when there are so many urgent things needing to be done. A huge gap exists between what we know is possible with today's machines and what we have so far been able to finish.
- Donald Knuth
Image of Donald Knuth
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.
- Donald Knuth
Image of Donald Knuth
There's ways to amuse yourself while doing things and thats how I look at efficency.
- Donald Knuth
Image of Donald Knuth
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.
- Donald Knuth
Image of Donald Knuth
God is a challenge because there is no proof of his existence and therefore the search must continue.
- Donald Knuth
Image of Donald Knuth
The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
- Donald Knuth
Image of Donald Knuth
The manuals we got from IBM would show examples of programs and I knew I could do a heck of a lot better than that. So I thought I might have some talent.
- Donald Knuth
Image of Donald Knuth
I'm obsessively detail-oriented.
- Donald Knuth
Image of Donald Knuth
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.
- Donald Knuth
Image of Donald Knuth
I currently use Ubuntu Linux, on a standalone laptop - it has no Internet connection. I occasionally carry flash memory drives between this machine and the Macs that I use for network surfing and graphics; but I trust my family jewels only to Linux.
- Donald Knuth
Image of Donald Knuth
I'll never know everything. My life would be a lot worse if there was nothing I knew the answers about - and if there was nothing I didn't know the answers about.
- Donald Knuth
Image of Donald Knuth
I am worried that algorithms are getting too prominent in the world. It started out that computer scientists were worried nobody was listening to us. Now I'm worried that too many people are listening.
- Donald Knuth
Image of Donald Knuth
Email is a wonderful thing for those people whose role in life is to be on top of things, but not for me: my role is to be on the bottom of things.
- Donald Knuth
Image of Donald Knuth
To me, it looks more or less like the hardware designers have run out of ideas and that they're trying to pass the blame for the future demise of Moore's Law to the software writers by giving us machines that work faster only on a few key benchmarks!
- Donald Knuth
Image of Donald Knuth
Computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.
- Donald Knuth
Collection: Art
Image of Donald Knuth
Programming is the art of telling another human being what one wants the computer to do.
- Donald Knuth
Collection: Art
Image of Donald Knuth
Always remember, however, that there’s usually a simpler and better way to do something than the first way that pops into your head.
- Donald Knuth
Collection: Firsts
Image of Donald Knuth
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
- Donald Knuth
Collection: Learning
Image of Donald Knuth
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.
- Donald Knuth
Collection: Writing
Image of Donald Knuth
Computers are good at following instructions, but not at reading your mind.
- Donald Knuth
Collection: Funny Inspirational
Image of Donald Knuth
Programs are meant to be read by humans and only incidentally for computers to execute.
- Donald Knuth
Collection: Computer
Image of Donald Knuth
If you find that you're spending almost all your time on theory, start turning some attention to practical things; it will improve your theories. If you find that you're spending almost all your time on practice, start turning some attention to theoretical things; it will improve your practice.
- Donald Knuth
Collection: Practice
Image of Donald Knuth
Premature optimization is the root of all evil.
- Donald Knuth
Collection: Science
Image of Donald Knuth
Email is a wonderful thing for people whose role in life is to be on top of things. But not for me; my role is to be on the bottom of things. What I do takes long hours of studying and uninterruptible concentration.
- Donald Knuth
Collection: Long
Image of Donald Knuth
The enjoyment of one's tools is an essential ingredient of successful work.
- Donald Knuth
Collection: Successful
Image of Donald Knuth
The psychological profiling [of a programmer] is mostly the ability to shift levels of abstraction, from low level to high level. To see something in the small and to see something in the large.
- Donald Knuth
Collection: Levels
Image of Donald Knuth
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.
- Donald Knuth
Collection: Art
Image of Donald Knuth
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.
- Donald Knuth
Collection: Machines
Image of Donald Knuth
Random numbers should not be generated with a method chosen at random
- Donald Knuth
Collection: Numbers
Image of Donald Knuth
The best theory is inspired by practice.
- Donald Knuth
Collection: Practice
Image of Donald Knuth
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.
- Donald Knuth
Collection: Animal
Image of Donald Knuth
By understanding a machine-oriented language, the programmer will tend to use a much more efficient method; it is much closer to reality.
- Donald Knuth
Collection: Reality
Image of Donald Knuth
A mathematical formula should never be "owned" by anybody! Mathematics belong to God.
- Donald Knuth
Collection: Science
Image of Donald Knuth
[The Euclidean algorithm is] the granddaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day.
- Donald Knuth
Collection: History
Image of Donald Knuth
When certain concepts of TeX are introduced informally, general rules will be stated; afterwards you will find that the rules aren't strictly true. In general, the later chapters contain more reliable information than the earlier ones do. The author feels that this technique of deliberate lying will actually make it easier for you to learn the ideas. Once you understand a simple but false rule, it will not be hard to supplement that rule with its exceptions.
- Donald Knuth
Collection: Lying
Image of Donald Knuth
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
- Donald Knuth
Collection: Running
Image of Donald Knuth
My first program taught me a lot about the errors that I was going to be making in the future, and also about how to find errors. That's sort of the story of my life, making errors and trying to recover from them. I try to get things correct. I probably obsess about not making too many mistakes.
- Donald Knuth
Collection: Mistake
Image of Donald Knuth
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.
- Donald Knuth
Collection: Ideas
Image of Donald Knuth
The designer of a new kind of system must participate fully in the implementation.
- Donald Knuth
Collection: Design