Lua

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

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

Historie 
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.

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.

Særtrekk 
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  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.

Roblox 
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

Eksterne lenker 
 

Skriptspråk