The 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.
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.
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.
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%.
A list is only as strong as its weakest link.
The enjoyment of one’s tools is an essential ingredient of successful work.
Premature optimization is the root of all evil.
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.
Beware of bugs in the above code; I have only proved it correct, not tried it.
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.
Any inaccuracies in this index may be explained by the fact that it has been prepared with the help of a computer.
The sun comes up just about as often as it goes down, in the long run, but this doesn’t make its motion random.
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.
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.
In fact, my main conclusion after spending ten years of my life working on the T E X project is that software is hard. It’s harder than anything else I’ve ever had to do.
We should continually be striving to transform every art into a science: in the process, we advance the art.
These machines have no common sense; they have not yet learned to “think,” and they do exactly as they are told, no more and no less. This fact is the hardest concept to grasp when one first tries to use a computer.
The designer of a new kind of system must participate fully in the implementation.
I try to learn certain areas of computer science exhaustively; then I try to digest that knowledge into a form that is accessible to people who don’t have time for such study.
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.