«Le gagana sili polokalame na faia«
- Alan Kay, "i luga ole Lisp"
Ina ua atiina ae e McCarthy Lisp i le faaiuga o le 1950, sa matua ese lava mai gagana o loo i ai, o le mea sili ona taua
Na fa'ailoa mai e Lisp ni manatu fou se iva:
1. Tulaga. O fa'amatalaga fa'atu'utu'uga o faufale pe afai-ona-ese. O lea ua tatou manatu māmā i ai. Sa latou
2. Se ituaiga galuega. I Lisp, o galuega o mea muamua-vasega - o se ituaiga faʻamatalaga, pei o numera, manoa, ma isi, ma e iai se faʻatusa moni, e mafai ona teuina i fesuiaiga, e mafai ona pasia e fai ma finauga, ma isi.
3. Recursion. Recursion, ioe, sa i ai o se manatu faʻa-matematika i luma o Lisp, ae Lisp o le gagana polokalame muamua e lagolagoina ai. (Atonu o loʻo faʻaalia i le fatuina o galuega e pei o mea muamua-vasega.)
4. O se manatu fou o fesuiaiga. I Lisp, o fesuiaiga uma o ni faʻamatalaga aoga. O tau o mea ia e iai, ae le o fesuiaiga, ma le tuʻuina atu poʻo le fusifusia o fesuiaiga o lona uiga o le kopiina o faʻailoga, ae le o mea latou te faasino i ai.
5. Aoina lapisi.
6. Polokalama e iai fa'amatalaga. O polokalame Lisp o la'au o fa'aaliga, o ia mea ta'itasi e toe fa'afo'i mai ai se tau. (O nisi faʻamatalaga Lisp e mafai ona toe faʻafoʻi le tele o tau.) E faʻatusatusa lenei mea ma Fortran ma le tele o isi gagana manuia e faʻaeseese ai "faʻamatalaga" ma "faʻamatalaga."
O se mea masani le i ai o lenei tulaga ese i Fortran ona o le gagana e faʻatatau i laina (e le o se mea e ofo ai mo se gagana o lona faʻaogaina o se kata tuʻi). E le mafai ona iai ni au fa'amatalaga. Ma o le umi lava e te manaʻomia ai faʻamatalaga o le matematika e galue ai, e leai se aoga o le i ai o se isi mea e toe faʻafoʻi ai se tau aua atonu e leai se mea e faʻatali e toe faʻafoʻi.
Na aveese tapulaʻa i le oʻo mai o gagana faʻapipiʻi poloka, ae o le taimi lena ua tuai tele. O le eseesega i le va o faʻamatalaga ma faʻamatalaga ua uma ona faʻamautuina. Na pasi mai Fortran i Algol ma oʻo atu ia latou fanau.
A fa'apea o se gagana e faia atoa i fa'amatalaga, e mafai ona e fatuina fa'amatalaga i so'o se auala e te mana'o ai. E mafai ona e tusia (faʻaaoga le syntax
(if foo (= x 1) (= x 2))
poʻo
(= x (if foo 1 2))
7. O se ituaiga faailoga. O tagata e ese mai manoa, i le tulaga lea e mafai ona e siaki ai le tutusa e ala i le faʻatusatusaina o faʻailoga.
8. O se fa'ailoga mo code faaaogaina o laau faatusa.
9. E maua i taimi uma le gagana atoa. E leai se eseesega manino i le va o le taimi faitau, faʻapipiʻi taimi ma le taʻavale. E mafai ona e fa'apipi'i pe ta'e le code a'o e faitau, pe faitau pe ta'e le code a'o e tu'ufa'atasia, pe faitau pe tu'ufa'atasia le code a'o tamo'e.
O le ta'avale code a'o faitau e mafai ai e tagata fa'aoga ona toe fa'atonu le syntax a Lisp; O le faʻaogaina o le code i le taimi faʻapipiʻi o le faʻavae lea mo macros; taimi fa'aputuga o le fa'avae lea mo le fa'aogaina o le Lisp e fai ma fa'aopoopoga gagana i polokalame e pei o Emacs; ma le mea mulimuli, o le faitau taimi taʻavale e mafai ai e polokalame ona fesoʻotaʻi i le faʻaaogaina o s-faʻaaliga, o se manatu talu ai nei na toe faʻafouina i le XML.
iʻuga
I le taimi muamua na fausia ai le Lisp, o nei manatu e mamao ese mai faiga masani o polokalame na faʻatonuina e meafaigaluega na maua i le tuai o 1950s.
I le aluga o taimi, o le gagana e le masani ai, na faʻaalia i le manuia o gagana lauiloa, na faasolosolo malie atu i le Lisp. Fa'ailoga 1-5 ua talia lautele nei. O le mataitusi 6 ua amata ona fa'aalia i le tulaga masani. Python ei ai le fuaiupu 7 i nisi tulaga, e ui lava e leai se syntax talafeagai. Aitema 8, lea (faatasi ai ma le aitema 9) e mafai ai macros i Lisp, o loʻo i ai pea i le Lisp, masalo ona (a) e manaʻomia ai na puipui poʻo se mea tutusa leaga, ma (e) afai e te faʻaopoopoina lenei faʻaopoopoga fou o le malosi, e te mafaia. ua le toe fai mai ua ia faia se gagana fou, ae ua na o le atiina ae o se gagana fou o le Lisp; -)
E ui lava e aoga lenei mea mo tagata fai polokalame faʻaonaponei, e ese le faʻamatalaina o le Lisp i tulaga o lona eseesega mai auala faʻapitoa e faʻaaogaina i isi gagana. Atonu e le o le mea lea na mafaufau i ai McCarthy. E le'i fuafuaina le Lisp e faasa'o mea sese a Fortran; na foliga mai o se taunuuga o le taumafai
puna: www.habr.com