Every program has two purposes: The one for which it was written and another for which it wasn't. Alan Perlis More Quotes by Alan Perlis More Quotes From Alan Perlis A year spent in artificial intelligence is enough to make one believe in God. Alan Perlis technology science believe It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures. Alan Perlis function data trust In the long run, every program becomes rococo, and then rubble. Alan Perlis humorous running long Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. Alan Perlis life-and-love genius suffering A programming language is low level when its programs require attention to the irrelevant. Alan Perlis levels language attention There are two ways to write error-free programs; only the third one works. Alan Perlis errors writing two A language that doesn't affect the way you think about programming is not worth knowing. Alan Perlis learning knowing thinking Don't have good ideas if you aren't willing to be responsible for them. Alan Perlis computing responsible ideas If a listener nods his head when you're explaining your program, wake him up. Alan Perlis listeners program explaining To understand a program, you must become both the machine and the program. Alan Perlis program machines learning Simplicity does not precede complexity, but follows it. Alan Perlis simple-life simplicity doe In man-machine symbiosis, it is man who must adjust: The machines can't. Alan Perlis symbiosis machines men Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis. Alan Perlis logic analysis cases One man's constant is another man's variable. Alan Perlis variables constant men C programmers never die. They are just cast into void. Alan Perlis programmers void casts Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve. Alan Perlis investing hard-work math When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop. Alan Perlis funny-inspirational giving needs It is easier to change the specification to fit the program than vice versa. Alan Perlis computer vices change Some programming languages manage to absorb change, but withstand progress. Alan Perlis programming progress language 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? Alan Perlis learning self fun