Luau, o variantă de verificare a limbii Lua devine open source

recent a fost anunțată lansarea primei versiuni independent de limbajul de programare luau, care continuă cu dezvoltarea Lua și este, de asemenea, compatibil cu versiunile anterioare de Lua 5.1.

Limba Luau este concepute în primul rând pentru încorporarea motoarelor de scripturi în aplicații și urmărește obținerea de performanțe ridicate și consum redus de resurse. Codul proiectului este scris în C++ și este deschis sub licența MIT.

Luau extinde Lua cu capabilități de verificare a tipului și unele versiuni sintactici noi, cum ar fi literalele șir. Limba este compatibilă cu versiunile anterioare de Lua 5.1 și parțial cu versiunile mai noi. API-ul Lua Runtime este acceptat, permițând ca Luau să fie utilizat cu coduri și link-uri preexistente.

Începând de astăzi, Luau nu mai este o parte inseparabilă a platformei Roblox; este un limbaj open source independent.

Durata de rulare a limbii se bazează pe codul de rulare Lua 5.1 puternic revizuit, dar interpretul a fost complet rescris. Dezvoltarea a implicat câteva tehnici noi de optimizare care au făcut posibilă obținerea unor performanțe mai mari în comparație cu Lua.

Când Roblox a fost creat acum 15 ani, am ales Lua ca limbaj de programare. Lua a fost mic, rapid, ușor de integrat și de învățat și a deschis posibilități uriașe pentru dezvoltatorii noștri.

O mare parte din Roblox a fost construită pe Lua, inclusiv sute de mii de linii de cod dezvoltat intern care alimentează aplicația Roblox și Roblox Studio până în prezent și milioanele de experiențe pe care dezvoltatorii le-au creat. Pentru mulți dintre ei, a fost primul limbaj de programare pe care l-au învățat.

Proiectul a fost dezvoltat de Roblox și este folosit în codul platformei de joc și aplicațiile personalizate de la această companie, inclusiv editorul Roblox Studio. Inițial, Luau a fost dezvoltat cu ușile închise, dar în cele din urmă s-a decis transferul în categoria proiectelor deschise pentru dezvoltare comună ulterioară cu participarea comunității.

Caracteristici cheie:

  • Un sistem de tip secvențial, care ocupă o poziție intermediară între scrierea dinamică și cea statică. Luau permite scrierea statică după cum este necesar prin specificarea informațiilor de tip prin adnotări speciale.
  • The tipuri încorporate „Orice”, „nil”, „boolean”, „număr”, „șir” și „thread”. În același timp, se păstrează și capacitatea de a utiliza tastarea dinamică fără a defini în mod explicit tipul de variabile și funcții.
  • Suport pentru șiruri literale (ca în Lua 5.3)
  • Suport pentru expresia „continuare”, în plus față de cuvântul cheie existent „break”, pentru a trece la o nouă iterație a buclei.
  • Suport pentru operatorii de atribuire compusă
  • Suport pentru utilizarea blocuri condiționate „Dacă-atunci-altfel” sub formă de expresii care returnează valoarea calculată în timpul execuției blocului. Puteți specifica un număr arbitrar de instrucțiuni elseif într-un bloc.
  • Prezența unui mod sandbox care vă permite să rulați cod neîncrezat. Această funcție poate fi folosită pentru a vă organiza propriul cod și codul scris de un alt dezvoltator, de exemplu biblioteci terțe care nu pot fi garantate, să ruleze unul lângă altul.
  • O limitare a bibliotecii standard din care au fost eliminate funcțiile care ar putea crea probleme de securitate. De exemplu, bibliotecile „io” (acces la fișiere și procese de pornire), „pachet” (acces la fișiere și module de încărcare), „os” (funcțiile de acces la fișiere și de modificare a variabilelor de mediu au fost eliminate), „Debug” (nesigură). gestionarea memoriei), „dofile” și „loadfile” (acces la sistemul de fișiere).
  • Furnizați instrumente pentru analiza codului static, detectarea erorilor (Linter) și validarea utilizării tipurilor.
  • Analizor, interpret de bytecode și compilator proprietar de înaltă performanță.
  • Luau nu acceptă încă compilarea JIT, dar se argumentează că interpretul Luau este destul de comparabil ca performanță cu LuaJIT în unele situații.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.