Greenspun's tenth rule
Lua error in package.lua at line 80: module 'strict' not found. Greenspun's tenth rule of programming is an aphorism in computer programming and especially programming language circles that states:[1][2]
<templatestyles src="Template:Blockquote/styles.css" />
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
This expresses the opinion that the perceived flexibility and extensibility designed into the Lisp programming language includes all functionality that is theoretically necessary to write a complex computer program, and that the features required to develop such complexity in other programming languages are equivalent to the methods used by Lisp.
The rule was written sometime around 1993 by Philip Greenspun. Although it is known as his tenth rule, there are in fact no preceding rules, only the tenth. The reason for this according to Greenspun:
<templatestyles src="Template:Blockquote/styles.css" />
Sorry, Han-Wen, but there aren't 9 preceding laws. I was just trying to give the rule a memorable name.[3]
Hacker Robert Morris later declared a corollary which clarifies the set of "sufficiently complicated" programs to which the rule applies:
<templatestyles src="Template:Blockquote/styles.css" />
…including Common Lisp.[4]
See also
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />