Lisp

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži
Disambig.svg Za druga značenja, pogledajte LISP.

Lisp je obitelj računalnih programskih jezika s dugom povijesti i istaknutom sintaksom zasnovanoj na zagradama. Ime dolazi od engleskog izraza list processing. Viši je programski jezik. Posebice ga se je namijenilo rukovanju podatcima koji su u obliku popisa (lista) i rekurzivnim postupcima. Mnogo ga se primjenilo kod programa umjetne inteligencije[1] kao primarni jezik u istraživanju na području umjetne inteligencije.[2]

Povijest

Dizajnirao ga je John McCarthy, a razvijali su ga Steve Russell, Timothy P. Hart i Mike Levin. Na dizajn LISP-a mnogo je utjecao lambda račun matematičara Alonza Churcha. Izvorno specificiran 1958., Lisp je drugi najstariji viši programski jezik koji se i danas naširoko rabi; samo je Fortran stariji. Baš poput Fortrana, Lisp se je jako mnogo promijenio od svojih mladih dana, i mnogo je dijalekata postojalo tijekom povijesti. Primjerice, izvorna inačica LISP-a imala je nekolicinu primitiva, za razliku od današnjeg LISP-a koji ih ima više stotinjaka.[3]

Danas su najpoznatiji Lispovi dijalekti opće namjene Common Lisp i Scheme te Logo, kojeg se razvilo za istraživanja u računalnoj znanosti.[2]

Lisp je izvorno stvoren kao praktična matematička notacija za računalne programe, zasnovan na Churchovom lambda računu. Brzo je stekao status favoriziranog programskog jezika za istraživanja u području umjetne inteligencije. Kao jedan od najstarijih programskih jezika, Lisp je uveo mnoge ideje u računalstvo, uključujući stablastih podatkovnih struktura, automatskog upravljanja memorijom, dinamičkog tipiziranja, objektno-orijentiranog programiranja i samoprevođenja. Američki računalni znanstvenik Alan Kay, poznat po svom ranom radu na objektno orijentiranom programiranju i dizajnu korisničkog sučelja je za LISP rekao da je to najveći programski jezik ikad dizajniran.

Kratica odnosno naziv LISP vuče podrijetlo od engl. LISt Processing. Vezane liste su jedna od Lispovih glavnih struktura podataka, a i sam Lispov izvorni kod čine popisi (liste). Kao posljedica toga, programi na Lispu mogu manipulirati izvornim kodom kao strukturom podataka (v. meta programiranje), što dovodi do sustava makroa koji programerima dopuštaju stvarati nove sintakse pa čak i "programske jezike specifične domene" ugrađene u Lisp.

Izmjenjivost koda i podataka također daje Lispu njegovu lako prepoznatljivu sintaksu. Sav je programski kod napisan preko S-izraza, ili zagrađenih popisa (lista). Poziv funkcije ili sintaksna forma je napisana kao popis sa imenom funkcije ili operatora na početku, nakon kojih slijede argumenti - primjerice funkciju f koja prima tri argumenta može se pozvati rabeći (f x y z).

Izvori

  1. Uvodna stranica/Objasnidbeni rječnik/L-M INFORMATIKA-Gimnazija-RAČUNALSTVO-Strukovne škole. Autori: Darko Grundler, Lidija Blagojević, Sanda Šutalo (objavljeno pod licencijom Creative Commons Autorska prava), stranicama pristupljeno 14. rujna 2011.
  2. 2,0 2,1 E-učenje AHyCo.ffri.hr! Seminari 2008. (Izradili: Damir, Tihana, Martina, Daniela, Željka): Povijest informatike - 5. generacija programskih jezika, stranicama pristupljeno 14. rujna 2011.
  3. KaMIS FESB Programski jezici, stranicama pristupljeno 14. rujna 2011.