Greenspunin kymmenes sääntö on ohjelmointiaforismi , joka sanoo : [1] [2]
Mikä tahansa riittävän monimutkainen C- tai Fortran -ohjelma sisältää juuri kirjoitetun, määrittelemättömän, bugisen ja hitaan toteutuksen puolet Common Lisp -kielestä .
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Mikä tahansa riittävän monimutkainen C- tai Fortran-ohjelma sisältää ad hoc, epävirallisesti määritellyn, bugien sisältävän, hitaan toteutuksen puolet Common Lispistä.Säännön muotoili noin vuonna 1993 Philip Greenspan . Vaikka se tunnetaan "kymmenennenä", sitä edeltäviä sääntöjä ei ole. Greenspan itse selitti nimen seuraavasti: [3]
Yritin vain antaa säännölle tarttuvan nimen.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Yritin vain antaa säännölle mieleenpainuvan nimen.Säännön pointti on, että ohjelmoijat, jotka rajoittuvat matalan tason kieliin, kuten C , ylittävät kielen rajoitukset lisäämällä ohjelmien tekstiin ominaisuuksien analogeja, jotka ovat ominaisia ilmeisemmille kielille, kuten Lisp .
Myöhemmin hakkeri Robert Morris tarkensi: [4]
…mukaan lukien itse Common Lisp .
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] …mukaan lukien Common Lisp.Selvennys voidaan nähdä kommentina Common Lisp - kielen tehokkaan toteutuksen vaikeudesta tai yksinkertaisesti leikkisänä kuvauksena Lispin eval - toiminnon toiminnasta .
Mikä tahansa riittävän monimutkainen Lisp - ohjelma sisältää todennäköisesti puolet Prolog - kielestä hitaan toteutuksen .
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Mikä tahansa riittävän monimutkainen LISP-ohjelma sisältää puolet Prologista hitaan toteutuksen.Tämä muotoilu [5] kuvastaa sitä tosiasiaa, että Prolog -ohjelmat sisältävät Lisp-tyylisiä saaria , kun taas Lisp-ohjelmat sisältävät Prolog -tyylisiä saaria .
Hajautetun ohjelmoinnin leviämisen ja Erlang -kielellä toteutettujen ideoiden yleistymisen myötä Robert Virding ehdotti tätä vaihtoehtoa: [6]
Mikä tahansa riittävän monimutkainen hajautettu ohjelma sisältää juuri kirjoitetun, määrittelemättömän, bugisen ja hitaan toteutuksen puolet Erlang-kielestä.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Mikä tahansa riittävän monimutkainen rinnakkainen ohjelma toisella kielellä sisältää ad hoc epävirallisesti määritellyn virheiden aiheuttaman hitaan toteutuksen puolet Erlangista.Tätä korjausta kutsutaan myös Armstrongin seuraukseksi.
Sääntöä muutetaan usein korvaamalla sanat "Common Lisp" puhujan suosikkitoiminnallisella kielellä (esim . Scheme tai Haskell ). Voidaan tiivistää näin:
Mikä tahansa riittävän monimutkainen alusta sisältää äskettäin kirjoitetun, määrittelemättömän, bugisen ja hitaan toteutuksen puolikkaasta toiminnallisesta kielestä.
Alkuperäinen teksti (englanniksi)[ näytäpiilottaa] Mikä tahansa riittävän monimutkainen alusta sisältää ad hoc, epävirallisesti määritellyn, virheellisen, hitaan toteutuksen puolet toiminnallisesta ohjelmointikielestä.Yhteinen Lisp | |||||||
---|---|---|---|---|---|---|---|
Toteutukset |
| ||||||
Ohjelmisto |
| ||||||
Julkaisut |
| ||||||
suunnittelutoimikunta |
| ||||||
Muut |
|
Lisp | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ominaisuudet |
| ||||||||||||||
Toteutukset |
| ||||||||||||||
Laitteisto |
| ||||||||||||||
Yhteisö |
| ||||||||||||||
|