www.all2know.com Google WWW All2know fi
  Etusivu Etusivu | Tietoja Tietoja 
  Navigaatio
» Etusivu
» Artikelkategorier
» Luettelo luetteloista
» Aakkosellinen hakemisto
» Kalenteri
» Arvottu artikkeli
» Muokkaa Aiheesta muualla
Viimeisimmät muutokset: 2007-11-10
  Tänne linkitetyt sivut 
BASIC
Fortran
Funktionaalinen ohjelmointi
Java
Ohjelmointikieli
Perl
PHP
Python
Luettelo ohjelmointikielistä
C++
Assembly (ohjelmointikieli)
Linux
Delphi (ohjelmointikieli)
TCL
Lambda
Puskurin ylivuotovirhe
Ruby
Scheme
D (ohjelmointikieli)
Emacs
Linkitetty lista
Quine (tietokoneohjelma)
APL (ohjelmointikieli)
Logo (ohjelmointikieli)
Paul Graham
Haskell
Rekursio
Copyleft
Genera
Io (ohjelmointikieli)
Lisp-kone
CLU
S-lauseke
Zork
Macsyma
  Muut kielet 
daLisp
deLISP
frLisp
noLisp
svLisp
Luokka: Ohjelmointikielet Funktionaaliset ohjelmointikielet

Lisp

Lisp on usean lähestymistavan refleksiivinen ohjelmointikieli.

Nimi Lisp tulee englannin kielen sanoista 'List Processing'. Linkitetyt listat ovat Lispin pääasiallisia datarakenteita, ja identtiset perustason listaoperaatiot toimivat kaikissa Lispin murteissa. Muita yleisiä ominaisuuksia Lispin murteissa ovat vahvat dynaamisen tyypit, tuki funktionaaliselle ohjelmoinnille ja kyky muokata lähdekoodia datana.

Tällä hetkellä kaksi yleisintä Lisp-murretta ovat Scheme ja Common Lisp. Lispistä puhuttaessa tarkoitetaan yleensä jälkimmäistä. Vaikka moni nykyisin suosittu kieli on alun perin ottanut vaikutteita Lispistä (ehtorakenteet, silmukat, roskienkeruu jne.), Lisp on täysin erilainen verrattuna esim. C#-kieleen. Lispissä ei tehdä eroa sisäänrakennetun ja ohjelmoijan tekemän funktion välille, joten Lisp on helposti laajennettavissa. Tämä mahdollistaa sen, että Lispillä on erittäin helppo tehdä sisäkkäisiä ohjelmointikieliä, mistä Common Lispin loop-makro on hyvä esimerkki. Useimmiten Lisp-ohjelmoija kirjoittaa kielen sopimaan kulloiseenkin ohjelmointitehtävään sen sijaan että jakaisi ohjelman ratkaiseman ongelman jatkuvasti pienempiin osiin kunnes se on tarpeeksi pieni kielellä ratkaistavaksi. Tätä kutsutaan alhaalta ylös -ohjelmointitekniikaksi, jossa kieli sovitetaan ohjelmaan.

1 Historia
2 Esimerkkejä
3 Katso myös
4 Aiheesta muualla

Historia

Kielen ensimmäisen version kehitti John McCarthy vuonna 1958, ja kielen kuvaava artikkeli julkaistiin Communications of the ACM-lehdessä 1960. Ensimmäinen varsinainen käytännöllinen toteutuksen teki Steve Russell IBM 704 -tietokoneelle. Vuonna 1962 MIT:ssä kehitettiin ensimmäinen modernin tyyppinen Lisp-kääntäjä. 1980- ja 1990-luvulla Lisp-kielestä oli jo olemassa useita eri variaatioita, ja vuonna 1994 päästandardiksi nousi Common Lisp, joka on ANSI-standardi (ANSI X3.226-1994 Information Technology Programming Language Common Lisp).

1990-luvun puolella kiinnostus Lisp-kieleen väheni. Kiinnostus on kuitenkin kasvanut 2000-luvulla, hyvinä syinä esimerkiksi kattavien avoimeen lähdekoodiin pohjautuvien Lisp-järjestelmien saatavuus, ja joidenkin 'Lisp-evankelistojen' (kuten Paul Graham) tekemä työ.

Esimerkkejä

Muotoiltu merkkijono ja yhteenlasku

(ajettu Lisp-tulkissa)

> (format t '5 + 5 = ~D' ( + 5 5))
5 + 5 = 10
NIL

Sijoitus, funktion määrittely ja kutsu

(suoritettava ohjelma)

;; Sijoitus
(setq a 5)
(setq h 4)
;; Funktion määrittely
(defun ala (a h)
       (/ ( * a h ) 2 ))
;; Funktion kutsu
(setq A (ala a h))
(format t '~D' A)

Katso myös

Aiheesta muualla

Tarjoaa Wikipedia, vapaa tietosanakirja. Aiheesta muualla. Kaikki teksti on saatavilla GNU Free Documentation License Aiheesta muualla.