1993

Philip Greenspun states his tenth rule

Philip Greenspun jokes that big C programs secretly reinvent Lisp badly — the observation known as Greenspun's Tenth Rule.

Quote

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

What it was for

Philip GreenspunThere are no rules one through nine; Greenspun picked 'tenth' for memorability. The line explains why frameworks grow interpreters, DSLs, and config languages — and why starting with a higher-level tool might have been cheaper.

People

  • Philip Greenspunauthor

Why it's here

The snarkiest law about accidental language design in legacy codebases.

Why it mattered

It named the pattern of reimplementing Lisp features inside lower-level systems.

What it solved

TeamsMicrosoft Teams — chat, video calls, and Office integration for workplace collaboration. building elaborate C++ frameworks lacked a humorous label for what they were doing.

Media

  • Philip Greenspun
    ImagePhilip Greenspun

    Elsa Dorfman, CC BY-SA 3.0, via Wikimedia Commons