Science is what we understand well enough to explain to a computer. Art is everything else we do.Collection: Science
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.Collection: Attitude
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.Collection: Computers
Everyday life is like programming, I guess. If you love something you can put beauty into it.Collection: Beauty
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.
The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.
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 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.
God is a challenge because there is no proof of his existence and therefore the search must continue.
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.
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.
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.
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'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.
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.
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.
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!
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.Collection: Art
Programming is the art of telling another human being what one wants the computer to do.Collection: Art
Always remember, however, that there’s usually a simpler and better way to do something than the first way that pops into your head.Collection: Firsts
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.Collection: Learning
When you write a program, think of it primarily as a work of literature. You're trying to write something that human beings are going to read. Don't think of it primarily as something a computer is going to follow. The more effective you are at making your program readable, the more effective it's going to be: You'll understand it today, you'll understand it next week, and your successors who are going to maintain and modify it will understand it.Collection: Writing
Computers are good at following instructions, but not at reading your mind.Collection: Funny Inspirational
Programs are meant to be read by humans and only incidentally for computers to execute.Collection: Computer
If you find that you're spending almost all your time on theory, start turning some attention to practical things; it will improve your theories. If you find that you're spending almost all your time on practice, start turning some attention to theoretical things; it will improve your practice.Collection: Practice
Premature optimization is the root of all evil.Collection: Science
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.Collection: Long
The enjoyment of one's tools is an essential ingredient of successful work.Collection: Successful
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.Collection: Levels
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.Collection: Art
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.Collection: Machines
Random numbers should not be generated with a method chosen at randomCollection: Numbers
The best theory is inspired by practice.Collection: Practice
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.Collection: Animal
By understanding a machine-oriented language, the programmer will tend to use a much more efficient method; it is much closer to reality.Collection: Reality
A mathematical formula should never be "owned" by anybody! Mathematics belong to God.Collection: Science
[The Euclidean algorithm is] the granddaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day.Collection: History
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.Collection: Lying
TeX has found at least one bug in every Pascal compiler it's been run on, I think, and at least two in every C compilerCollection: Running
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.Collection: Mistake
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.Collection: Ideas
The designer of a new kind of system must participate fully in the implementation.Collection: Design