Lua

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

Lua er et lettvektig programmeringsspråk utviklet som et skriptspråk med utvidbar semantikk som et hovedmål. Lua er kryssplattform siden språket er skrevet i ANSI C.[1] Språket brukes blant annet som skripspråk i mange spill, f.eks. World of Warcraft.[2]

Historie[rediger | rediger kilde]

Lua ble utviklet i 1993 av Roberto Ierusalimschy, Luiz Henrique de Figueiredo, og Waldemar Celes, medlemmer av Computer Graphics Technology Group ved Pontifícia Universidade Católica do Rio de Janeiro i Rio de Janeiro. Gruppen utviklet programmer for Petrobas, blant annet for å lage litologiprofiler. Programmene krevde mye konfigurasjon fra brukerne, og på et tidspunkt fant de ut at det beste ville være å bygge inn et fullstendig programmeringsspråk, men siden brukerne var geologer og ingeniører fremfor profesjonelle programmerere, var det viktig å unngå kryptisk syntaks og semantikk. Tcl var det eneste reelle alternativet, men ble forkastet pga. «uvennlig syntaks», dårlig støtte for å beskrive datastrukturer, og manglende støtte for andre plattformer enn Unix. LISP og Scheme ble forkastet pg.a. uvennlig syntaks, og Python var fremdeles i barndommen. Dermed ble Lua født.[3]

I 1996 publiserte gruppen en artikkel om Lua i et amerikansk tidsskrift. Artikkelen ble blant annet lest av utviklere ved LucasArts, som bestemte seg for å integrere Lua i spillene sine for å gi brukerne mulighet til å skrive makroer og tillegg. I 1998 anbefalte LucasArts Lua på verdens største spillutviklingsmesse, Games Developer’s Conference, og etterhvert begynte også andre spillutviklere å ta språket i bruk.[2]

Særtrekk[rediger | rediger kilde]

Lua er dynamisk typet, og kjører programmer gjennom å tolke bytekode i en registerbasert virtuell maskin. Språket har automatisk minnehåndtering med inkrementell søppeltømming, og er spesielt egnet til konfigurering og skripting. Det er raskt sammenlignet med andre tolkede skriptspråk, tar lite plass, og er enkelt å komme i gang med for å skrive enkle skript.

Kildekoden til versjon 5.2.2 består av ca 20 000 linjer C-kode, som tilsvarer ca. 180 kB i Linux. At språket tar lite plass er gunstig for innbygging i ulike applikasjoner.

Lua er egentlig ikke et objektorientert språk, men det tilbyr mekanismer for å implementere klasser og arv direkte i språket. Den eneste innebygde datastrukturen er table, som i grunnen er en hashtabell. Denne kan benyttes om felt, liste, mengde og tuppel.[1]

Referanser[rediger | rediger kilde]

  1. ^ a b «About Lua». Lua.org. Besøkt 5. januar 2014. 
  2. ^ a b Yuri Takhteyev (April 21, 2013). «From Brazil to Wikipedia». Foreign Affairs. Besøkt April 25, 2013. 
  3. ^ Ierusalimschy, R.; Figueiredo, L. H.; Celes, W. (2007). Proc. of ACM HOPL III. s. 2–1–2–26. doi:10.1145/1238844.1238846. ISBN 978-1-59593-766-7. 

Eksterne lenker[rediger | rediger kilde]