Programs are meant to be read by humans and only incidentally for computers to execute.
Donald Knuth... 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.
Donald KnuthWe should continually be striving to transform every art into a science: in the process, we advance the art.
Donald KnuthI 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 KnuthWe should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Donald Knuth...methods are more important than facts. The educational value of a problem given to a student depends mostly on how often the thought processes that are invoked to solve it will be helpful in later situations. It has little to do with how useful the answer to the problem may be. On the other hand, a good problem must also motivate the students; they should be interested in seeing the answer. Since students differ so greatly, I cannot expect everyone to like the problems that please me.
Donald KnuthMy 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 KnuthTeX 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 KnuthComputer 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 KnuthGod is a challenge because there is no proof of his existence and therefore the search must continue.
Donald KnuthThe 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 KnuthI have a hunch that the unknown sequences of DNA will decode into copyright notices and patent protections.
Donald KnuthI 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.
Donald KnuthThe sun comes up just about as often as it goes down, in the long run, but this doesn't make its motion random.
Donald KnuthLet 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 KnuthScience is knowledge which we understand so well that we can teach it to a computer; and if we don't fully understand something, it is an art to deal with it.
Donald KnuthThe 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 KnuthScience is what we understand well enough to explain to a computer. Art is everything else we do.
Donald KnuthWhen 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 KnuthThe whole thing that makes a mathematicianโs life worthwhile is that he gets the grudging admiration of three or four colleagues.
Donald KnuthIn 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 KnuthThe 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 KnuthPeople 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 KnuthThe 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.
Donald KnuthProgrammers 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%.
Donald KnuthThe important thing, once you have enough to eat and a nice house, is what you can do for others, what you can contribute to the enterprise as a whole.
Donald KnuthProgramming is the art of telling another human being what one wants the computer to do.
Donald KnuthAI 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 KnuthI 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 KnuthEveryday life is like programming, I guess. If you love something you can put beauty into it.
Donald KnuthThe most important thing in the kitchen is the waste paper basket and it needs to be centrally located.
Donald KnuthThe book Dynamic Programming by Richard Bellman is an important, pioneering work in which a group of problems is collected together at the end of some chapters under the heading "Exercises and Research Problems," with extremely trivial questions appearing in the midst of deep, unsolved problems. It is rumored that someone once asked Dr. Bellman how to tell the exercises apart from the research problems, and he replied: "If you can solve it, it is an exercise; otherwise it's a research problem."
Donald Knuth