Lisp
Innehåll- 1. Två exempel - 2. Historik - 3. Varianter - 4. Användning - 5. Länkar:Lisp är en familj programspråk, som enklast känns igen på att de använder parenteser, som används för att bygga upp listor.Lisp är en förkortning för LISt Processing. Skämtsamt säger man också att det står för "Lots of Infernal Stupid Parentheses", en massa dumma parenteser, eller "Lots of Irritating Single Parentheses" :-)
I produktionsmiljö är det antagligen Common Lisp som är vanligast, det är den som är standardlispen sedan många år. Det är kanske här som det finns mest och bäst litteratur. Om du är intresserad av Lisp, så titta på Common Lisp.
1. Två exempel
(defun main ()"Hello World i Common lisp" (write-line "hello world"))
;; Skriver ut verserna på 99 bottles of beer... (defun bottles (n) (if (< n 1) (format t "~%Time to go to the store.~%") (progn (format t "~% ~a bottle~:p of beer on the wall." n)(format t "~% ~a bottle~:p of beer." n)(format t "~% Take one down, pass it around.")(format t "~% ~a bottle~:p of beer on the wall.~%" (- n 1))(bottles (- n 1))))) (bottles 99)
2. Historik
Lisp utvecklades ursprungligen vid MITs AI-lab i slutet av 1950-talet av John McCarthy.Egentligen var Lisp inte menat att bli ett programmeringsspråk utan McCarthy utvecklade det bara som en teoretisk övning i ett försök att göra ett mer behändigt alternativ till en Turingmaskin. För visa att Lisp var bättre utveckade han eval-funktionen som beräknar värdet av ett lisputtryck. För att kunna göra detta var han tvungen att utveckla en notation som beskrev lispfunktioner som lispdata, detta blev syntaxen för lisp. Allt detta gjorde han bara för en akademisk uppsats, den som gjorde det till ett programmeringsspråk var Steve Russell en av McCarthys studenter som såg att eval-funktionen skulle fungera bra som en lisptolk och implemeterade den i IBM 704 maskinkod.
För mer information om historien bakom Lisp, läs gärna John McCartys artikel eller en lite kortare artikel av Paul Graham . Lisps historia fram till 1990-talet finns beskriven i av Guy L. Steele Jr. och Richard P. Gabriel.
3. Varianter
Det finns många varianter, dialekter av Lisp.De vanligaste är Common Lisp, Scheme och Emacs Lisp. Emacs Lisp är väldigt likt MacLisp. Länge var det MacLisp och INTERLISP som var de två stora lägren.4. Användning
Lisp är inte bara ett av det mest betydelsefulla programspråken i så måtto att det influerat och inspirerat andra språk (Perl, Scheme, Java, ...) och varit ett viktigt verktyg i datavetenskaplig forskning. Lisp används dessutom kommersiellt.Ett av de bästa exemplen är , det mest framgångsrika och ledande e-handelssystemet. Yahoo Store är byggt i Lisp och skaparen hävdar med emfas att Lisp valdes för att det gav klara fördelar i RAD, flexibilitet.Our secret weapon was similar. We wrote our software in a weird AI language, with a bizarre syntax full of parentheses. For years it had annoyed me to hear Lisp described that way. But now it worked to our advantage.Paul Graham i se ävenVidare används Lisp ofta för att bygga komplexa system inom ingenjörsvärlden. NASA är exempelvis en stor användare. Många analys-, debug- och felhanteringssystem är skrivna i Lisp. (Dock används oftast Tcl som språk och API för användaren. Det varexakt det som Tcl utvecklades för.)
5. Länkar:
- En kort introduktion till lispprogrammering
- onlinebok som lär ut grunderna i lispprogrammering. Skriven av David B. Lamkins.
- Paul Grahams bok om avancerad Lispprogrammering, On Lisp är sedan ett tag tillbaka släppt till allmänheten på internet.
- Intressant artikel (också av Paul Graham) om vad som skiljde lisp från andra språk.
- föredrag av Graham från maj 2002 som enligt författaren:
- Lite mer information om Lispanvändning i företagsvärlden finns på http://www.lisp.org/table/commercial-use.htm
- Roligt och intressant Usenet news-inlägg av Erik Naggum om varför man ska välja Lisp istället för Perl
- intressant artikel från år1991 av Richard P. Gabriel om framtiden för lisp. Två citat: "Unix and C are the ultimate computer viruses." "The good news is that in 1995 we will have a good operating system and programming language; the bad news is that they will be Unix and C++."
Artikeln skriven 2009-01-17 av Learning4sharing
Inga kategorier för denna artikel än...Intresserad av fler artiklar?
Vingåkers kommunÖvre Vannala
BBS
Aktiv Ungdom
Förbundet Unga Forskare
Processor
PRN
Fittludd
Rektor