Donald Knuth

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%.

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.

Science is what we understand well enough to explain to a computer. Art is everything else we do.

We have seen that 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.

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.

By understanding a machine-oriented language, the programmer will tend to use a much more efficient method; it is much closer to reality.

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.

Beware of bugs in the above code; I have only proved it correct, not tried it.

A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.

I’ll use dirty tricks for two reasons. One is, if it’s really going to give me a performance improvement. Or sometimes just for pure pleasure. In any case, I document it; I don’t just put it in there.

The problem is that coding isn’t fun if all you can do is call things out of a library, if you can’t write the library yourself.

I make mistakes because I’m always operating at my limit. If I only stay in comfortable territory all the time, that’s not so much fun.

I’ve got this need to program. I wake up in the morning with sentences of a literate program. Before breakfast — I’m sure poets must feel this — I have to go to the computer and write this paragraph and then I can eat and I’m happy.

The more varieties of different kinds of notations are still useful — don’t only read the people who code like you.