Epigrams on programming

Epigrams on programming – Perlis, 1982

See also the original formatted version in PDF at the ACM Digital Library if you have a subscription.

A bit of Friday fun today. Not strictly a paper, but certainly a classic! Twitter didn’t exist in 1982, though if it did, Alan Perlis would be a master tweeter. This paper is essentially 120 ready made tweets (Perlis called them epigrams).

According to wikipedia:

An epigram is a brief, interesting, memorable, and sometimes surprising or satirical statement.

Though ‘epigrammer’ doesn’t have quite the same ring as ‘twitter’ I’ll grant you 😉 And besides not all tweets seem to meet the epigram bar!

Here are ten of my favourites from Perlis’ piece:

  1. Everything should be built top-down, except the first time.
  2. A language that doesn’t affect the way you think about programming, is not worth knowing.
  3. Simplicity does not precede complexity, but follows it.
  4. There are two ways to write error-free programs; only the third one works.
  5. Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
  6. We are on the verge: Today our program proved Fermat’s next-to-last theorem.
  7. Interfaces keep things tidy but don’t accelerate growth: Functions do.
  8. In computing, the mean time to failure keeps getting shorter.
  9. If you have a procedure with ten parameters, you probably missed some.
  10. Wherever there is modularity there is the potential for misunderstanding: Hiding information implies a need to check communication.

There are plenty more where these came from! Go ahead and check out the full list (link at the top) and then tweet some of your favourites…