Английская Википедия:Greenspun's tenth rule
Шаблон:Short description Greenspun's tenth rule of programming is an aphorism in computer programming and especially programming language circles that states:[1][2]
Overview
The rule expresses the opinion that the argued flexibility and extensibility designed into the programming language Lisp includes all functionality that is theoretically needed to write any complex computer program, and that the features required to develop and manage such complexity in other programming languages are equivalent to some subset of the methods used in Lisp.
Other programming languages, while claiming to be simpler, require programmers to reinvent in a haphazard way a significant amount of needed functionality that is present in Lisp as a standard, time-proven base.
It can also be interpreted as a satiric critique of systems that include complex, highly configurable sub-systems.[3] Rather than including a custom interpreter for some domain-specific language, Greenspun's rule suggests using a widely accepted, fully featured language like Lisp.
Paul Graham also highlights the satiric nature of the concept, albeit based on real issues: Шаблон:Quote
The rule was written sometime around 1993 by Philip Greenspun. Although it is known as his tenth rule, this is a misnomer. There are in fact no preceding rules, only the tenth. The reason for this according to Greenspun:
Hacker Robert Morris later declared a corollary, which clarifies the set of "sufficiently complicated" programs to which the rule applies: Шаблон:Quote This corollary jokingly refers to the fact that many Common Lisp implementations (especially those available in the early 1990s) depend upon a low-level core of compiled C, which sidesteps the issue of bootstrapping but may itself be somewhat variable in quality, at least compared to a cleanly self-hosting Common Lisp.[4]
See also
References
Шаблон:Common Lisp Шаблон:Lisp programming language
- Английская Википедия
- Computer architecture statements
- Lisp (programming language)
- 1993 neologisms
- Programming language folklore
- Computer programming folklore
- Software engineering folklore
- C (programming language) software
- Fortran software
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Английской Википедии