Lua

Fra Wikipedia, den frie encyklopedi
Lua
Tilblivelse1993[1]
Paradigme
Designet og utviklet avRoberto Ierusalimschy
Siste versjon(er)5.4.6 / 14. mai 2023
Typetildeling dynamisk, sterk, løpende
Filendelse(r).lua, .luna, .lunaire, .anair
OSmultiplattform
LisensMIT-lisensen
Implementert i
C
Påvirket av
C++, CLU, Simple Object Language, DEL, SNOBOL, Modula, Modula-2, Scheme

Lua er et lettvekts skriptspråk med assosiative tabeller og utvidbar semantikk.[2] Lua er kryssplattform siden språket er skrevet i ANSI C.[2] Språket brukes blant annet som skriptspråk i mange spill, f.eks. World of Warcraft[3] og Roblox[trenger referanse].

Navnet kommer fra ordet «lua», som betyr måne på portugisisk.

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. 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 grunnet «uvennlig syntaks», dårlig støtte for å beskrive datastrukturer, og manglende støtte for andre plattformer enn Unix. LISP og Scheme ble forkastet også grunnet uvennlig syntaks. Python var fremdeles i barndommen. Dermed ble Lua født.[4]

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.[3]

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 omtrent 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.[2]

Roblox[rediger | rediger kilde]

[klargjør]Språket er veldig populært når det gjelder med Roblox, men bortsett fra at Roblox bruker en modifisert versjon, som heter Roblox Lua, eller RBX.lua som det faktisk heter, og det er språket som alle Roblox-spill, som Jailbreak og Adopt Me bruker.

Referanser[rediger | rediger kilde]

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

Eksterne lenker[rediger | rediger kilde]