fa poc es va donar a conèixer l'alliberament de la primera versió independent del llenguatge de programació Luau, el qual continua amb el desenvolupament de Lua i que a més és compatible amb versions anteriors de Lua 5.1.
El llenguatge Luau està dissenyat principalment per incrustar motors de seqüències d'ordres en aplicacions i té com a objectiu assolir un alt rendiment i un baix consum de recursos. El codi del projecte està escrit a C++ i està obert sota la llicència MIT.
Luau amplia Lua amb capacitats de verificació de tipus i algunes construccions sintàctiques noves com els literals de cadena. L'idioma és compatible amb versions anteriors de Lua 5.1 i parcialment amb versions més recents. S'admet l'API de Lua Runtime, el que permet fer servir Luau amb codis i enllaços preexistents.
A partir d?avui, Luau ja no és una part inseparable de la plataforma Roblox; és un llenguatge de codi obert independent.
El runtime del llenguatge es basa en un codi de temps dexecució 5.1 de Lua molt revisat, però lintèrpret sha reescrit per complet. El desenvolupament va involucrar algunes noves tècniques d'optimització que van permetre aconseguir més rendiment en comparació amb Lua.
Quan es va crear Roblox fa 15 anys, vam triar Lua com a llenguatge de programació. La Lua era petit, ràpid, fàcil d'integrar i aprendre i va obrir enormes possibilitats per als nostres desenvolupadors.
Gran part de Roblox es va crear a Lua, inclosos centenars de milers de línies de codi desenvolupat internament que impulsa l'aplicació Roblox i Roblox Studio fins avui, i els milions d'experiències que els desenvolupadors han creat. Per a molts, va ser el primer llenguatge de programació que van aprendre.
El projecte va ser desenvolupat per Roblox i s'utilitza al codi de la plataforma de jocs i aplicacions personalitzades aquesta empresa, inclòs l'editor de Roblox Studio. Inicialment, Luau es va desenvolupar a porta tancada, però al final es va decidir transferir-ho a la categoria de projectes oberts per a un major desenvolupament conjunt amb la participació de la comunitat.
Característiques principals:
- Un sistema de tipus seqüencial, que ocupa una posició intermèdia entre escriptura dinàmica i estàtica. Luau permet l'escriptura estàtica segons cal especificar la informació del tipus a través d'anotacions especials.
- Es proporcionen els tipus integrats any, nil, boolean, number, string i thread. Alhora, també es conserva la possibilitat d'utilitzar la tipificació dinàmica sense definir explícitament el tipus de variables i funcions.
- Suport per a cadenes literals (com a Lua 5.3)
- Suport per a l'expressió "continue", a més de la paraula clau "break" existent, per saltar a una nova iteració del cicle.
- Suport per a operadors d'assignació composta
- Suport per a l'ús de blocs condicionals if-then-else en forma d'expressions que retornen el valor calculat durant l'execució del bloc. Podeu especificar un nombre arbitrari d'instruccions elseif en un bloc.
- La presència de manera sandbox que us permet executar codi que no és de confiança. Aquesta funció es pot utilitzar per organitzar el vostre propi codi i el codi escrit per un altre desenvolupador, per exemple, biblioteques de tercers que no es poden garantir, perquè s'executin una al costat de l'altra.
- Una limitació de la biblioteca estàndard de què s'han eliminat les funcions que potencialment podrien crear problemes de seguretat. Per exemple, biblioteques io (accés a fitxers i processos d'inici), paquet (accés a fitxers i càrrega de mòduls), us (es van eliminar les funcions per accedir a fitxers i canviar les variables d'entorn), «depurar» (memòria insegura maneig), «dofile» i «loadfile» (accés al sistema de fitxers).
- Proporcionar eines per a lanàlisi de codi estàtic, detecció derrors (Linter) i validar lús de tipus.
- Analitzador, intèrpret de codi de bytes i compilador propi d'alt rendiment.
- Luau encara no admet la compilació JIT, però s'argumenta que l'intèrpret de Luau és força comparable en rendiment a LuaJIT en algunes situacions.
Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.