Loading...
Alan perlis insights

Explore a captivating collection of Alan perlis’s most profound quotes, reflecting his deep wisdom and unique perspective on life, science, and the universe. Each quote offers timeless inspiration and insight.

One can't proceed from the informal to the formal by formal means.

It is easier to change the specification to fit the program than vice versa.

To understand a program, you must become both the machine and the program.

We are on the verge: Today our program proved Fermat's next-to-last theorem.

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

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

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

If you have a procedure with 10 parameters, you probably missed some.

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

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

Don't have good ideas if you aren't willing to be responsible for them.

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

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

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

Simplicity does not precede complexity, but follows it.

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.

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.

There are two ways to write error-free programs; only the third one works.

A language that doesn't affect the way you think about programming is not worth knowing.

Any noun can be verbed.

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?

In English every word can be verbed.

In software systems it is often the early bird that makes the worm.

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.

A programming language is low level when its programs require attention to the irrelevant.

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.

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

Programmers are not to be measured by their ingenuity and their logic but by the completeness of their case analysis.

In English every word can be verbed. Would that it were so in our programming languages.

We toast the Lisp programmer who pens his thoughts within nests of parentheses.

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

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.

If your computer speaks English, it was probably made in Japan.

FORTRAN is not a flower but a weed - it is hardy, occasionally blooms, and grows in every computer.

When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop.

A year spent in artificial intelligence is enough to make one believe in God.

Syntactic sugar causes cancer of the semicolon.

There is no such thing as a free variable.

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.

One man's constant is another man's variable.

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

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.

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

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

Optimization hinders evolution.

Every reader should ask himself periodically “Toward what end, toward what end?”—but do not ask it too often lest you pass up the fun of programming for the constipation of bittersweet philosophy.

C programmers never die. They are just cast into void.

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

In computing, turning the obvious into the useful is a living definition of the word "frustration".

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?

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

You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN.

Computer Science is embarrassed by the computer.

Learning French is trivial: the word for horse is cheval, and everything else follows in the same way.

If a listener nods his head when you're explaining your program, wake him up.

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

Some programming languages manage to absorb change, but withstand progress.