Luau, lua valodas tipa pārbaudes variants, kļūst par atvērto avotu

Nesen tika paziņots par pirmās versijas izlaišanu neatkarīgi no programmēšanas valodas luau, kas turpinās ar Lua izstrādi un ir saderīga arī ar iepriekšējām Lua 5.1 versijām.

Luau valoda ir galvenokārt paredzēts skriptu programmu iegulšanai lietojumprogrammās, un tā mērķis ir sasniegt augstu veiktspēju un zemu resursu patēriņu. Projekta kods ir rakstīts C ++ valodā un ir atvērts saskaņā ar MIT licenci.

Luau paplašina Lua ar tipa pārbaudes iespējām un dažām versijām jaunas sintaktikas, piemēram, stīgu literāļi. Valoda ir saderīga ar iepriekšējām Lua 5.1 versijām un daļēji ar jaunākām versijām. Tiek atbalstīta Lua Runtime API, ļaujot Luau izmantot ar jau esošiem kodiem un saitēm.

No šodienas Luau vairs nav neatņemama Roblox platformas sastāvdaļa; ir neatkarīga atvērtā pirmkoda valoda.

Valodas izpildlaika pamatā ir stipri pārskatīts Lua 5.1 izpildlaika kods, taču tulks ir pilnībā pārrakstīts. Izstrāde ietvēra dažas jaunas optimizācijas metodes, kas ļāva sasniegt augstāku veiktspēju salīdzinājumā ar Lua.

Kad Roblox tika izveidots pirms 15 gadiem, mēs izvēlējāmies Lua kā programmēšanas valodu. Lua bija mazs, ātrs, viegli integrējams un apgūstams, un tas pavēra milzīgas iespējas mūsu izstrādātājiem.

Liela daļa Roblox tika veidota uz Lua, tostarp simtiem tūkstošu iekšēji izstrādāta koda rindu, kas nodrošina Roblox lietojumprogrammu un Roblox Studio darbību līdz pat šai dienai, kā arī miljoniem pieredzes, ko ir radījuši izstrādātāji. Daudziem no viņiem tā bija pirmā programmēšanas valoda, ko viņi iemācījās.

Projektu izstrādāja Roblox, un to izmanto spēļu platformas kodā un pielāgotās lietojumprogrammās no šī uzņēmuma, tostarp Roblox Studio izdevēja. Sākotnēji Luau tika izstrādāts aiz slēgtām durvīm, taču beigās tika nolemts to pārcelt uz atvērto projektu kategoriju tālākai kopīgai attīstībai ar sabiedrības līdzdalību.

Galvenās iezīmes:

  • Secīgā tipa sistēma, kas ieņem starpstāvokli starp dinamisko un statisko rakstīšanu. Luau pieļauj statisku rakstīšanu pēc vajadzības, norādot veida informāciju, izmantojot īpašas anotācijas.
  • The iebūvētie veidi "Jebkurš", "nulle", "būla", "skaitlis", "virkne" un "pavediens". Tajā pašā laikā tiek saglabāta arī iespēja izmantot dinamisko rakstīšanu, nepārprotami definējot mainīgo un funkciju veidus.
  • Atbalsts burtiskām virknēm (kā Lua 5.3)
  • Atbalsts izteicienam "turpināt" papildus esošajam atslēgvārdam "break", lai pārietu uz jaunu cilpas iterāciju.
  • Atbalsts salikto uzdevumu operatoriem
  • Atbalsts lietošanai nosacījuma bloki "Ja-tad-cits" izteiksmju veidā, kas atgriež bloka izpildes laikā aprēķināto vērtību. Blokā var norādīt patvaļīgu elseif paziņojumu skaitu.
  • Smilškastes režīma klātbūtne kas ļauj palaist neuzticamu kodu. Šo funkciju var izmantot, lai sakārtotu savu kodu un cita izstrādātāja rakstītu kodu, piemēram, trešās puses bibliotēkas, kuras nevar garantēt, lai tās darbotos blakus.
  • Ierobežojums standarta bibliotēkai, no kuras ir noņemtas funkcijas, kas varētu radīt drošības problēmas. Piemēram, bibliotēkas "io" (piekļuve failiem un startēšanas procesiem), "package" (piekļuve failiem un ielādes moduļiem), "os" (funkcijas piekļūt failiem un mainīt vides mainīgos ir noņemtas), "Atkļūdošana" (nedroša atmiņas apstrāde), "dofile" un "loadfile" (piekļuve failu sistēmai).
  • Nodrošiniet rīkus statiskā koda analīzei, kļūdu noteikšanai (Linter) un tipu izmantošanas apstiprināšanai.
  • analizators, baitu koda tulks un augstas veiktspējas patentēts kompilators.
  • Luau vēl neatbalsta JIT kompilāciju, taču tiek apgalvots, ka Luau tulks dažās situācijās ir diezgan salīdzināms ar LuaJIT.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

bool (patiess)