To me, it looks more or less like the hardware designers have run out of ideas and that they're trying to pass the blame for the future demise of Moore's Law to the software writers by giving us machines that work faster only on a few key benchmarks!
— Donald Knuth
I'll never know everything. My life would be a lot worse if there was nothing I knew the answers about - and if there was nothing I didn't know the answers about.
Everyday life is like programming, I guess. If you love something you can put beauty into it.
I've never been a good estimator of how long things are going to take.
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 eachother, like a wall of mini stones.
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.
An algorithm must be seen to be believed.
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.
Science is what we understand well enough to explain to a computer. Art is everything else we do.
Email is a wonderful thing for those 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.
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.
I'm obsessively detail-oriented.
God is a challenge because there is no proof of his existence and therefore the search must continue.
The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.
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.
A list is only as strong as its weakest link.
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.
I am worried that algorithms are getting too prominent in the world. It started out that computer scientists were worried nobody was listening to us. Now I'm worried that too many people are listening.
My 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.
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.
There's ways to amuse yourself while doing things and thats how I look at efficency.
If you optimize everything, you will always be unhappy.
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.
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.
Beware of bugs in the above code; I have only proved it correct, not tried it.