Luau, variant jazyka Lua na kontrolu typu, sa stáva otvoreným zdrojom

Nedávno bolo oznámené vydanie prvej verzie nezávislý od programovacieho jazyka luau, ktorý pokračuje vo vývoji Lua a je kompatibilný aj s predchádzajúcimi verziami Lua 5.1.

Jazyk Luau je určené predovšetkým na vkladanie skriptovacích strojov v aplikáciách a má za cieľ dosiahnuť vysoký výkon a nízku spotrebu zdrojov. Kód projektu je napísaný v C++ a je otvorený pod licenciou MIT.

Luau rozširuje Lua o možnosti kontroly typu a niektoré zostavy nové syntaktiky ako reťazcové literály. Jazyk je kompatibilný s predchádzajúcimi verziami Lua 5.1 a čiastočne s novšími verziami. Lua Runtime API je podporované, čo umožňuje používať Luau s už existujúcimi kódmi a odkazmi.

Od dnešného dňa už Luau nie je neoddeliteľnou súčasťou platformy Roblox; je nezávislý open source jazyk.

Jazykový modul je založený na značne revidovanom kóde runtime Lua 5.1, ale interpret bol úplne prepísaný. Vývoj zahŕňal niektoré nové optimalizačné techniky, ktoré umožnili dosiahnuť vyšší výkon v porovnaní s Lua.

Keď pred 15 rokmi vznikol Roblox, zvolili sme ako programovací jazyk Lua. Lua bola malá, rýchla, ľahko sa integrovala a učila sa a našim vývojárom otvorila obrovské možnosti.

Veľká časť Robloxu bola postavená na Lua, vrátane stoviek tisíc riadkov interne vyvinutého kódu, ktorý dodnes poháňa aplikáciu Roblox a Roblox Studio, a milióny skúseností, ktoré vývojári vytvorili. Pre mnohých z nich to bol prvý programovací jazyk, ktorý sa naučili.

Projekt bol vyvinutý spoločnosťou Roblox a používa sa v kóde hernej platformy a vlastných aplikáciách od tejto spoločnosti, vrátane vydavateľa Roblox Studio. Pôvodne sa Luau vyvíjal za zatvorenými dverami, no nakoniec sa rozhodlo o jeho preradení do kategórie otvorených projektov pre ďalší spoločný rozvoj za účasti komunity.

Hlavné vlastnosti:

  • Systém sekvenčného typu, ktorý zaberá medzipolohu medzi dynamickým a statickým zápisom. Luau umožňuje statické písanie podľa potreby špecifikovaním informácií o type prostredníctvom špeciálnych anotácií.
  • The vstavané typy "Akékoľvek", "nulové", "logické", "číslo", "reťazec" a "vlákno". Zároveň je zachovaná aj možnosť využívať dynamické písanie bez explicitného definovania typu premenných a funkcií.
  • Podpora pre doslovné reťazce (ako v Lua 5.3)
  • Podpora výrazu „pokračovať“ okrem existujúceho kľúčového slova „prestávka“ na prechod na novú iteráciu cyklu.
  • Podpora pre operátory zloženého priraďovania
  • Podpora pri používaní podmienené bloky "If-then-else" vo forme výrazov, ktoré vrátia hodnotu vypočítanú počas vykonávania bloku. V bloku môžete zadať ľubovoľný počet príkazov elseif.
  • Prítomnosť režimu sandbox ktorý vám umožňuje spúšťať nedôveryhodný kód. Túto funkciu možno použiť na usporiadanie vlastného kódu a kódu napísaného iným vývojárom, napríklad knižníc tretích strán, ktoré nemožno zaručiť, aby bežali vedľa seba.
  • Obmedzenie štandardnej knižnice, z ktorej boli odstránené funkcie, ktoré by mohli potenciálne vytvárať bezpečnostné problémy. Napríklad knižnice „io“ (prístup k súborom a spúšťacím procesom), „package“ (prístup k súborom a modulom načítania), „os“ (funkcie na prístup k súborom a zmena premenných prostredia boli odstránené), „Debug“ (nezabezpečené manipulácia s pamäťou), "dofile" a "loadfile" (prístup do systému súborov).
  • Poskytnite nástroje na analýzu statického kódu, detekciu chýb (Linter) a overenie použitia typov.
  • analyzátor, interpret bytecode a vysoko výkonný proprietárny kompilátor.
  • Luau zatiaľ nepodporuje kompiláciu JIT, ale tvrdí sa, že interpret Luau je v niektorých situáciách celkom porovnateľný vo výkone s LuaJIT.

Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.