Donald Knuth
Professor Emeritus of the Art of Computer Programming at Stanford University, is a renowned computer scientist and winner of the 1974 Turing Award.
Beware of bugs in the above code; I have only proved it correct, not tried it.
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.
Trees sprout up just about everywhere in computer science...
In fact, my main conclusion after spending ten years of my life working on the TEX project is that software is hard. It’s harder than anything else I’ve ever had to do.
How can you own [...] numbers? Numbers belong to the world.
An algorithm must be seen to be believed.
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.
By understanding a machine-oriented language, the programmer will tend to use a much more efficient method; it is much closer to reality.
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.
Any inaccuracies in this index may be explained by the fact that it has been sorted with the help of a computer.
Premature optimization is the root of all evil (or at least most of it) in programming.
I can’t go to a restaurant and order food because I keep looking at the fonts on the menu.
Knuth refers to this as "Hoare's Dictum" 15 years later in "The Errors of Tex", Software—Practice & Experience 19:7 (July 1989), pp. 607–685. However, the attribution to C. A. R. Hoare is doubtful.
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.
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.
We should continually be striving to transform every art into a science: in the process, we advance the art.
For his major contributions to the analysis of algorithms and the design of programming languages, and in particular for his contributions to the "art of computer programming" through his well-known books in a continuous series by this title.
Science is what we understand well enough to explain to a computer. Art is everything else we do.
I define UNIX as 30 definitions of regular expressions living under one roof.
The sun comes up just about as often as it goes down, in the long run, but this doesn't make its motion random.