Luau, varijanta jezika Lua za provjeru tipa postaje open source

nedavno najavljeno je izdanje prve verzije neovisno o programskom jeziku luau, koji se nastavlja s razvojem Luae i također je kompatibilan s prethodnim verzijama Lue 5.1.

Luau jezik je dizajniran prvenstveno za ugrađivanje skriptnih mehanizama u aplikacijama i ima za cilj postizanje visokih performansi i niske potrošnje resursa. Kod projekta je napisan u C++ i otvoren je pod MIT licencom.

Luau proširuje Lua s mogućnostima provjere tipa i nekim buildovima nove sintaktike poput string literala. Jezik je kompatibilan s prethodnim verzijama Lua 5.1 i djelomično s novijim verzijama. Lua Runtime API je podržan, dopuštajući korištenje Luaua s već postojećim kodovima i poveznicama.

Od danas Luau više nije neodvojivi dio Roblox platforme; je neovisni jezik otvorenog koda.

Vrijeme izvođenja jezika temelji se na uvelike revidiranom Lua 5.1 runtime kodu, ali je tumač potpuno prepisan. Razvoj je uključivao neke nove tehnike optimizacije koje su omogućile postizanje većih performansi u usporedbi s Luaom.

Kada je Roblox nastao prije 15 godina, odabrali smo Lua kao programski jezik. Lua je bila mala, brza, jednostavna za integraciju i učenje, a otvorila je ogromne mogućnosti našim programerima.

Velik dio Robloxa izgrađen je na Lua-i, uključujući stotine tisuća redaka interno razvijenog koda koji do danas pokreće aplikaciju Roblox i Roblox Studio, te milijune iskustava koje su programeri stvorili. Mnogima od njih to je bio prvi programski jezik koji su naučili.

Projekt je razvio Roblox i koristi se u kodu platforme za igre i prilagođenim aplikacijama iz ove tvrtke, uključujući izdavača Roblox Studio. U početku se Luau razvijao iza zatvorenih vrata, ali je na kraju odlučeno da se prebaci u kategoriju otvorenih projekata za daljnji zajednički razvoj uz sudjelovanje zajednice.

Značajke:

  • Sustav sekvencijalnog tipa, koji zauzima srednji položaj između dinamičkog i statičkog pisanja. Luau dopušta statično pisanje po potrebi navodeći informacije o tipu kroz posebne napomene.
  • The ugrađene vrste "Bilo koji", "nula", "boolean", "broj", "string" i "nit". Istodobno, očuvana je i mogućnost korištenja dinamičkog tipkanja bez eksplicitnog definiranja vrste varijabli i funkcija.
  • Podrška za literalne nizove (kao u Lua 5.3)
  • Podrška za izraz "nastavi", uz postojeću ključnu riječ "break", za skok na novu iteraciju petlje.
  • Podrška za složene operatore dodjele
  • Podrška za korištenje uvjetni blokovi "Ako-onda-drugo" u obliku izraza koji vraćaju vrijednost izračunatu tijekom izvršavanja bloka. Možete odrediti proizvoljan broj elseif naredbi u bloku.
  • Prisutnost pješčanog načina rada što vam omogućuje pokretanje nepouzdanog koda. Ova se funkcija može koristiti za organiziranje vašeg vlastitog koda i koda koji je napisao drugi programer, na primjer knjižnice trećih strana za koje se ne može jamčiti, da se izvode jedan pored drugog.
  • Ograničenje standardne biblioteke iz koje su uklonjene funkcije koje bi mogle stvoriti sigurnosne probleme. Na primjer, biblioteke "io" (pristup datotekama i procesi pokretanja), "package" (pristup datotekama i učitavanje modula), "os" (uklonjene su funkcije za pristup datotekama i promjenu varijabli okruženja), "Debug" (nesigurno rukovanje memorijom), "dofile" i "loadfile" (pristup datotečnom sustavu).
  • Osigurati alate za statičku analizu koda, otkrivanje pogrešaka (Linter) i provjeru upotrebe tipova.
  • analizator, tumač bajtkoda i vlasnički kompajler visokih performansi.
  • Luau još ne podržava JIT kompilaciju, ali se tvrdi da je Luau interpreter prilično usporediv u izvedbi s LuaJIT-om u nekim situacijama.

Konačno ako vas zanima više o tome, možete provjeriti detalje U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.