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
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.
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%.
academic endeavour programming
Programming is legitimate and necessary academic endeavour.
thinking animal people
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.
design easier difficult
Meta-design is much more difficult than design; it's easier to draw something than to explain how to draw it.
tree computer computer-science
Trees sprout up just about everywhere in computer science...
science technology mathematics
A mathematical formula should never be "owned" by anybody! Mathematics belong to God.
levels psychological lows
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.
nice house important
The 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.
expression definitions unix
I define UNIX as 30 definitions of regular expressions living under one roof.
lying learning simple
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.
mistake errors trying
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.
machines algorithms way
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.
people use algorithms
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.