Greenspun tizedik szabálya egy programozási aforizma , amely így szól : [1] [2]
Minden kellően összetett C vagy Fortran program a Common Lisp nyelv felének újonnan írt, nem meghatározott, hibás és lassú megvalósítását tartalmazza .
Eredeti szöveg (angol)[ showelrejt] Minden kellően bonyolult C vagy Fortran program tartalmaz egy ad hoc, informálisan meghatározott, hibáktól sújtott, lassú megvalósítást a Common Lisp felének.A szabályt Philip Greenspan fogalmazta meg 1993 körül . Bár a „tizedik” néven ismert, nincs szabály, amely megelőzné. Greenspan maga a következőképpen magyarázta a nevet: [3]
Csak próbáltam kapós nevet adni a szabálynak.
Eredeti szöveg (angol)[ showelrejt] Csak próbáltam emlékezetes nevet adni a szabálynak.A szabály lényege, hogy a programozók az alacsony szintű nyelvekre korlátozva, mint például a C , leküzdik a nyelv korlátait azáltal, hogy a programok szövegébe olyan tulajdonságok analógjait vezetik be, amelyek kifejezőbb nyelvekben, például a Lispben rejlenek .
Ezt követően Robert Morris hacker kifejtette: [4]
…beleértve magát a Common Lisp -et is .
Eredeti szöveg (angol)[ showelrejt] …beleértve a Common Lisp.A pontosítás felfogható a Common Lisp nyelv hatékony megvalósításának nehézségére vonatkozó megjegyzésnek , vagy egyszerűen csak játékos leírásnak a Lisp eval funkciójának működéséről .
Minden kellően összetett Lisp program valószínűleg a Prolog nyelv felét lassan implementálja .
Eredeti szöveg (angol)[ showelrejt] Minden kellően bonyolult LISP program tartalmazni fogja a Prolog felének lassú megvalósítását.Ez a megfogalmazás [5] azt a tényt tükrözi, hogy a Prolog programok Lisp stílusú szigeteket , míg a Lisp programok Prolog stílusú szigeteket tartalmaznak .
Az elosztott programozás elterjedésével és az Erlang nyelven megvalósított ötletek népszerűsítésével Robert Virding ezt a lehetőséget javasolta: [6]
Minden kellően összetett elosztott program az Erlang nyelv felének újonnan írt, meghatározatlan, hibás és lassú megvalósítását tartalmazza.
Eredeti szöveg (angol)[ showelrejt] Bármely kellően bonyolult párhuzamos program egy másik nyelven tartalmazza az Erlang felének ad hoc informálisan meghatározott, hibáktól sújtott lassú megvalósítását.Ezt a korrekciót Armstrong-következménynek is nevezik.
A szabályt gyakran úgy változtatják meg, hogy a "Common Lisp" szavakat a beszélő kedvenc funkcionális nyelvére cserélik (pl . Scheme vagy Haskell ). Összefoglalva:
Bármely kellően összetett platform egy fél funkcionális nyelv újonnan írt, nem meghatározott, hibás és lassú megvalósítását tartalmazza.
Eredeti szöveg (angol)[ showelrejt] Minden kellően bonyolult platform tartalmaz egy ad hoc, informálisan meghatározott, hibáktól sújtott, lassú megvalósítást a funkcionális programozási nyelv felének.Közönséges Lisp | |||||||
---|---|---|---|---|---|---|---|
Megvalósítások |
| ||||||
Szoftver |
| ||||||
Publikációk |
| ||||||
tervezőbizottság |
| ||||||
Egyéb |
|
Selypít | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jellemzők |
| ||||||||||||||
Megvalósítások |
| ||||||||||||||
Hardver |
| ||||||||||||||
Közösség |
| ||||||||||||||
|