Epigrams on Programming, highlighted
by Alan J. Perlis, Yale University.
This text has been published in SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7 - 13.
- One man’s constant is another man’s variable.
- Functions delay binding: data structures induce binding. Moral: Structure data late in the programming process.
- Syntactic sugar causes cancer of the semi-colons.
- Every program is a part of some other program and rarely fits.
- If a program manipulates a large amount of data, it does so in a small number of ways.
- Symmetry is a complexity reducing concept (co-routines include sub-routines); seek it everywhere.
- It is easier to write an incorrect program than understand a correct one.
- A programming language is low level when its programs require attention to the irrelevant.
- It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.10. 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.
