Alan Perlis Quotes
Most popular Alan Perlis Quotes
Optimization hinders evolution.
One man's constant is another man's variable.
Within a computer natural language is unnatural.
Syntactic sugar causes cancer of the semi-colons.
Simplicity does not precede complexity, but follows it.
Everything should be built top-down, except the first time.
Every program is a part of some other program and rarely fits.
If you have a procedure with 10 parameters, you probably missed some.
Don't have good ideas if you aren't willing to be responsible for them.
A program without a loop and a structured variable isn't worth writing.
In man-machine symbiosis, it is man who must adjust: The machines can't.
Once you understand how to write a program get someone else to write it.
To understand a program you must become both the machine and the program.
It is easier to write an incorrect program than understand a correct one.
Recursion is the root of computation since it trades description for time.
There are two ways to write error-free programs; only the third one works.
It is easier to change the specification to fit the program than vice versa.
A year spent in artificial intelligence is enough to make one believe in God.
If a listener nods his head when you're explaining your program, wake him up.
Most people find the concept of programming obvious, but the doing impossible.
Prolonged contact with the computer turns mathematicians into clerks and vice versa.
Perhaps if we wrote programs from childhood on, as adults we'd be able to read them.
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
If a program manipulates a large amount of data, it does so in a small number of ways.
A language that doesn't affect the way you think about programming, is not worth knowing.
A programming language is low level when its programs require attention to the irrelevant.
Motto for a research laboratory: What we work on today, others will first think of tomorrow.
The computer is the ultimate polluter. Its feces are indistinguishable from the food it produces.
It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.
The only constructive theory connecting neuroscience and psychology will arise from the study of software.
Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't.
Functions delay binding: data structures induce binding. Moral: Structure data late in the programming process.
There will always be things we wish to say in our programs that in all known languages can only be said poorly.
The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones.
In programming, everything we do is a special case of something more general - and often we know it too quickly.
When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.
Documentation is like term insurance: It satisfies because almost no one who subscribes to it depends on its benefits.
Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.
Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication.
You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.
The best book on programming for the layman is "Alice in Wonderland"; but that's because it's the best book on anything for the layman.
The cybernetic exchange between man, computer and algorithm is like a game of musical chairs: The frantic search for balance always leaves one of the three standing ill at ease.
What is the difference between a Turing machine and the modern computer? It's the same as that between Hillary's ascent of Everest and the establishment of a Hilton hotel on its peak.
Get into a rut early: Do the same processes the same way. Accumulate idioms. Standardize. The only difference (!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary.
Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long?
The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standardization of real computers would be a disaster - and so it probably won't happen.
It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?