Empiriceme · Figure · Adage / Folk Law

Greenspun's Tenth Rule

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

Greenspun's rule is about the tendency of large programs to grow their own configuration language, badly. The tenth exists because the first nine do not; the joke is in the numbering.

In practice

  • A reporting tool grows a filter syntax, then a macro language, then a scheduling language, none of which was designed.
  • A spreadsheet used as an application acquires a macro layer that is a programming environment nobody chose to build.
Further reading
Wikipedia
Subject
Technology & Software
Essay
The programmers' folklore, and technology's place in society

Search every entry·Every entry, A to Z