Greenspun's Tenth Rule - Meaning

Meaning

Lisp syntax is barely abstract; Lisp programs are constructed as trees of S-expressions, which are equivalent to the abstract syntax trees that compilers of other languages create internally. As a homoiconic language, Lisp also makes no distinction between code and data; Lisp programs are themselves just Lisp data structures. Lisp programs can thus generate additional Lisp programs themselves via macros. As a result, the programmer can construct complex domain specific languages with relative ease. Lisp advocates such as Paul Graham claim that this allows faster construction of more robust software compared to other languages. Common Lisp, specifically, has quite large standard library with large number of functions with flexible interfaces, that capture many programming paradigms (like remove, reduce, map, etc.). Greenspun's Rule expresses the opinion that these capabilities are necessary for any complex software package, and so will be redesigned from scratch in an ad hoc manner in any large project, duplicating effort already exerted in Common Lisp.

Read more about this topic:  Greenspun's Tenth Rule

Famous quotes containing the word meaning:

    “Losing life is a trifle and I will have that courage when I need it. But to see the meaning of this life vanishing, our reason for existing disappearing, that is what I cannot stand. No one can live without reason.”
    —Albert Camus (1913–1960)

    “We must leave our pets at home, when we go into the street, and meet men on broad grounds of good meaning and good sense.”
    —Ralph Waldo Emerson (1803–1882)

    “The meaning of today will not be clear until tomorrow.”
    —Mason Cooley (b. 1927)