dc.date.accessioned |
2016-05-12T15:12:48Z |
und |
dc.date.accessioned |
2017-10-24T12:24:13Z |
|
dc.date.available |
2016-05-12T15:12:48Z |
und |
dc.date.available |
2017-10-24T12:24:13Z |
|
dc.date.issued |
2016-05-12T15:12:48Z |
|
dc.identifier.uri |
http://radr.hulib.helsinki.fi/handle/10138.1/5442 |
und |
dc.identifier.uri |
http://hdl.handle.net/10138.1/5442 |
|
dc.title |
Clojure-kieli rinnakkaisohjelmointiin suunniteltuna Lisp-murteena |
fi |
ethesis.discipline |
Computer science |
en |
ethesis.discipline |
Tietojenkäsittelytiede |
fi |
ethesis.discipline |
Datavetenskap |
sv |
ethesis.discipline.URI |
http://data.hulib.helsinki.fi/id/1dcabbeb-f422-4eec-aaff-bb11d7501348 |
|
ethesis.department.URI |
http://data.hulib.helsinki.fi/id/225405e8-3362-4197-a7fd-6e7b79e52d14 |
|
ethesis.department |
Institutionen för datavetenskap |
sv |
ethesis.department |
Department of Computer Science |
en |
ethesis.department |
Tietojenkäsittelytieteen laitos |
fi |
ethesis.faculty |
Matematisk-naturvetenskapliga fakulteten |
sv |
ethesis.faculty |
Matemaattis-luonnontieteellinen tiedekunta |
fi |
ethesis.faculty |
Faculty of Science |
en |
ethesis.faculty.URI |
http://data.hulib.helsinki.fi/id/8d59209f-6614-4edd-9744-1ebdaf1d13ca |
|
ethesis.university.URI |
http://data.hulib.helsinki.fi/id/50ae46d8-7ba9-4821-877c-c994c78b0d97 |
|
ethesis.university |
Helsingfors universitet |
sv |
ethesis.university |
University of Helsinki |
en |
ethesis.university |
Helsingin yliopisto |
fi |
dct.creator |
Hämäläinen, Heikki |
|
dct.issued |
2016 |
|
dct.language.ISO639-2 |
fin |
|
dct.abstract |
Tämä työ tutkii Clojure-ohjelmointikieltä, joka on erityisesti rinnakkaisohjelmointiin suunniteltu Lisp-kielen murre. Clojure tukee vahvaa liitosta Java-ympäristöön ja sillä kirjoitetut ohjelmat suoritetaan JVM-virtuaalikoneella. Tutkielmassa käydään läpi Lisp-kielten historia, rinnakkaisohjelmoinnin yleiset haasteet ja funktionaalisen ohjelmointiparadigman perusteet. Lisäksi käsitellään Java-kielen ja JVM-virtuaalikoneen ja Clojure-kielen rinnakkaisohjelmointipiirteet.
Tutkielman analyysiosassa verrataan Clojuren ja Javan rinnakkaisuusratkaisuja muun muassa tehokkuuden ja käytettävyyden osalta. Clojuren rinnakkaisuusratkaisuista transaktiomuisti osoittautui laskennallisesti hyvin raskaaksi. Lisäksi rinnakkaisratkaisujen lukottomuudesta seuraa se, että tietyt rinnakkaisohjelmointiongelmat ovat hankalia toteuttaa ilman, että käytetään Javan rinnakkaisratkaisuja. Erityisesti synkronisten rinnakkaisratkaisujen osalta kielessä olisi kehittämisen varaa. Javaan verrattuna Clojuren rinnakkaisuusratkaisut ovat hieman yksinkertaisempia käyttää. Tämä johtuu kuitenkin pitkälle Clojuren dynaamisesta tyypityksestä ja funktionaalisesta perusrakenteesta. |
fi |
dct.language |
fi |
|
ethesis.language.URI |
http://data.hulib.helsinki.fi/id/languages/fin |
|
ethesis.language |
Finnish |
en |
ethesis.language |
suomi |
fi |
ethesis.language |
finska |
sv |
ethesis.thesistype |
pro gradu-avhandlingar |
sv |
ethesis.thesistype |
pro gradu -tutkielmat |
fi |
ethesis.thesistype |
master's thesis |
en |
ethesis.thesistype.URI |
http://data.hulib.helsinki.fi/id/thesistypes/mastersthesis |
|
dct.identifier.urn |
URN:NBN:fi-fe2017112252233 |
|
dc.type.dcmitype |
Text |
|