Luau, en typekontrolvariant af Lua-sproget bliver open source

nylig frigivelsen af ​​den første version blev annonceret uafhængig af programmeringssprog luau, som fortsætter med udviklingen af ​​Lua og også er kompatibel med tidligere versioner af Lua 5.1.

Luau-sproget er designet primært til indlejring af script-motorer i applikationer og sigter mod at opnå høj ydeevne og lavt ressourceforbrug. Projektkoden er skrevet i C++ og er åben under MIT-licensen.

Luau udvider Lua med typekontrolfunktioner og nogle builds ny syntaktik som strenge bogstaver. Sproget er kompatibelt med tidligere versioner af Lua 5.1 og delvist med nyere versioner. Lua Runtime API er understøttet, tillader Luau at blive brugt med allerede eksisterende koder og links.

Fra i dag er Luau ikke længere en uadskillelig del af Roblox-platformen; er et uafhængigt open source-sprog.

Sprogets runtime er baseret på stærkt revideret Lua 5.1 runtime-kode, men tolken er blevet fuldstændig omskrevet. Udviklingen involverede nogle nye optimeringsteknikker, der gjorde det muligt at opnå højere ydeevne sammenlignet med Lua.

Da Roblox blev oprettet for 15 år siden, valgte vi Lua som programmeringssprog. Lua var lille, hurtig, nem at integrere og lære, og det åbnede enorme muligheder for vores udviklere.

Meget af Roblox blev bygget på Lua, inklusive hundredtusindvis af linjer med internt udviklet kode, der driver Roblox-applikationen og Roblox Studio den dag i dag, og de millioner af oplevelser, som udviklere har skabt. For mange af dem var det det første programmeringssprog, de lærte.

Projektet er udviklet af Roblox og bruges i spilplatformskode og brugerdefinerede applikationer fra dette firma, inklusive udgiveren af ​​Roblox Studio. I første omgang blev Luau udviklet bag lukkede døre, men i sidste ende blev det besluttet at overføre det til kategorien åbne projekter for yderligere fælles udvikling med deltagelse af fællesskabet.

Hovedtræk:

  • Et sekventielt typesystem, som indtager en mellemposition mellem dynamisk og statisk skrivning. Luau tillader statisk skrivning efter behov ved at specificere typeinformation gennem specielle anmærkninger.
  • Det indbyggede typer "Any", "nul", "boolean", "number", "string" og "thread". Samtidig bevares også muligheden for at bruge dynamisk indtastning uden eksplicit at definere typen af ​​variabler og funktioner.
  • Understøttelse af bogstavelige strenge (som i Lua 5.3)
  • Understøttelse af udtrykket "fortsæt" ud over det eksisterende søgeord "pause", for at springe til en ny iteration af løkken.
  • Support til sammensatte opgaveoperatører
  • Support til brug af betingede blokke "Hvis-så-andet" i form af udtryk, der returnerer den værdi, der er beregnet under udførelsen af ​​blokken. Du kan angive et vilkårligt antal elseif-sætninger i en blok.
  • Tilstedeværelsen af ​​en sandkassetilstand som giver dig mulighed for at køre upålidelig kode. Denne funktion kan bruges til at organisere din egen kode og kode skrevet af en anden udvikler, for eksempel tredjepartsbiblioteker, der ikke kan garanteres, til at køre side om side.
  • En begrænsning af standardbiblioteket, hvorfra funktioner, der potentielt kan skabe sikkerhedsproblemer, er blevet fjernet. For eksempel bibliotekerne "io" (adgang til filer og opstartsprocesser), "pakke" (adgang til filer og indlæsningsmoduler), "os" (funktioner til at få adgang til filer og ændre miljøvariabler er blevet fjernet), "Debug" (usikkert) hukommelseshåndtering), "dofile" og "loadfile" (filsystemadgang).
  • Levere værktøjer til statisk kodeanalyse, fejldetektion (Linter) og validering af brugen af ​​typer.
  • Analysator, bytekode fortolker og højtydende proprietær compiler.
  • Luau understøtter endnu ikke JIT-kompilering, men det hævdes, at Luau-fortolkeren er ret sammenlignelig i ydeevne med LuaJIT i nogle situationer.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.