Skip to content
quotesby

47 Alan Perlis Quotes

Alan Perlis delivers witty, blunt reflections on how messy programming can be and why we must accept its imperfections.

Alan Perlis quotes

  1. I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

    Permalink to quote #1
  2. We toast the Lisp programmer who pens his thoughts within nests of parentheses.

    Permalink to quote #2
  3. A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures.

    Permalink to quote #3
  4. A programming language is low level when its programs require attention to the irrelevant.

    Permalink to quote #4
  5. A year spent in artificial intelligence is enough to make one believe in God.

    Permalink to quote #5
  6. Don't have good ideas if you aren't willing to be responsible for them.

    Permalink to quote #6
  7. Every program has two purposes: The one for which it was written and another for which it wasn't.

    Permalink to quote #7
  8. Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.

    Permalink to quote #8
  9. I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.

    Permalink to quote #9
  10. If a listener nods his head when you're explaining your program, wake him up.

    Permalink to quote #10
  11. If you have a procedure with 10 parameters, you probably missed some.

    Permalink to quote #11
  12. In computing, turning the obvious into the useful is a living definition of the word 'frustration'.

    Permalink to quote #12
  13. In English every word can be verbed. Would that it were so in our programming languages.

    Permalink to quote #13
  14. In software systems it is often the early bird that makes the worm.

    Permalink to quote #14
  15. Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to always see it as a soap bubble?

    Permalink to quote #15
  16. It goes against the grain of modern education to teach students to program. What fun is there to making plans, acquiring discipline, organizing thoughts, devoting attention to detail, and learning to be self critical.

    Permalink to quote #16
  17. It is easier to change the specification to fit the program than vice versa.

    Permalink to quote #17
  18. It is easier to write an incorrect program than understand a correct one.

    Permalink to quote #18
  19. LISP programmers know the value of everything and the cost of nothing.

    Permalink to quote #19
  20. One man's constant is another man's variable.

    Permalink to quote #20
  21. Simplicity does not precede complexity, but follows it.

    Permalink to quote #21
  22. Some programming languages manage to absorb change, but withstand progress.

    Permalink to quote #22
  23. 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.

    Permalink to quote #23
  24. The computing field is always in need of new cliches.

    Permalink to quote #24
  25. There are two ways to write error-free programs; only the third one works.

    Permalink to quote #25
  26. You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN.

    Permalink to quote #26

Also attributed

  1. Optimization hinders evolution. Everything should be built top-down, except the first time. Simplicity does not precede complexity, but follows it.

  2. Syntactic sugar causes cancer of the semicolon.

  3. When a professor insists computer science is X but not Y, have compassion for his graduate students.

  4. In man-machine symbiosis, it is man who must adjust: The machines can't.

  5. In English every word can be verbed.

  6. It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures.

  7. Computer Science is embarrassed by the computer.

  8. In the long run, every program becomes rococo, and then rubble.

  9. There is no such thing as a free variable.

  10. A LISP programmer knows the value of everything, but the cost of nothing.

  11. Every program has (at least) two purposes: the one for which it was written and another for which it wasn't.

  12. Motto for a research laboratory: what we work on today, others will first think of tomorrow.

  13. In computing, the mean time to failure keeps getting shorter.

  14. One can only display complex information in the mind. Like seeing, movement or flow or alteration of view is more important than the static picture, no matter how lovely.

  15. Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves.

  16. A good programming language is a conceptual universe for thinking about programming.

  17. 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.

  18. In programming, as in everything else, to be in error is to be reborn.

  19. Once you understand how to write a program get someone else to write it.

  20. Often it is the means that justify the ends: goals advance technique and technique survives even when goal structures crumble.

  21. Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.