Luau, en typekontrollvariant av Lua-språket blir åpen kildekode

nylig utgivelsen av den første versjonen ble kunngjort uavhengig av programmeringsspråk Luau, som fortsetter med utviklingen av Lua og også er kompatibel med tidligere versjoner av Lua 5.1.

Luau-språket er designet primært for å bygge inn skriptmotorer i applikasjoner og har som mål å oppnå høy ytelse og lavt ressursforbruk. Prosjektkoden er skrevet i C++ og er åpen under MIT-lisensen.

Luau utvider Lua med typekontrollfunksjoner og noen bygg ny syntaktikk som strenge bokstaver. Språket er kompatibelt med tidligere versjoner av Lua 5.1 og delvis med nyere versjoner. Lua Runtime API støttes, slik at Luau kan brukes med allerede eksisterende koder og lenker.

Per i dag er Luau ikke lenger en uatskillelig del av Roblox-plattformen; er et uavhengig åpen kildekodespråk.

Språkets kjøretid er basert på kraftig revidert Lua 5.1 kjøretidskode, men tolken er fullstendig omskrevet. Utviklingen innebar noen nye optimaliseringsteknikker som gjorde det mulig å oppnå høyere ytelse sammenlignet med Lua.

Da Roblox ble opprettet for 15 år siden, valgte vi Lua som programmeringsspråk. Lua var liten, rask, enkel å integrere og lære, og den åpnet for enorme muligheter for utviklerne våre.

Mye av Roblox ble bygget på Lua, inkludert hundretusenvis av linjer med internt utviklet kode som driver Roblox-applikasjonen og Roblox Studio frem til i dag, og de millioner av opplevelser som utviklere har skapt. For mange av dem var det det første programmeringsspråket de lærte.

Prosjektet ble utviklet av Roblox og brukes i spillplattformkode og tilpassede applikasjoner fra dette selskapet, inkludert utgiveren av Roblox Studio. I utgangspunktet ble Luau utviklet bak lukkede dører, men til slutt ble det besluttet å overføre det til kategorien åpne prosjekter for videre felles utvikling med deltakelse fra samfunnet.

Hovedtrekk:

  • Et sekvensielt typesystem, som inntar en mellomposisjon mellom dynamisk og statisk skriving. Luau tillater statisk skriving etter behov ved å spesifisere typeinformasjon gjennom spesielle merknader.
  • De innebygde typer "Alle", "null", "boolsk", "tall", "streng" og "tråd". Samtidig bevares også muligheten til å bruke dynamisk skriving uten å eksplisitt definere typen variabler og funksjoner.
  • Støtte for bokstavelige strenger (som i Lua 5.3)
  • Støtte for uttrykket "fortsett", i tillegg til det eksisterende nøkkelordet "break", for å hoppe til en ny iterasjon av loopen.
  • Støtte for sammensatte oppdragsoperatører
  • Støtte for bruk av betingede blokker "If-then-else" i form av uttrykk som returnerer verdien beregnet under utførelsen av blokken. Du kan spesifisere et vilkårlig antall elseif-setninger i en blokk.
  • Tilstedeværelsen av en sandkassemodus som lar deg kjøre uklarert kode. Denne funksjonen kan brukes til å organisere din egen kode og kode skrevet av en annen utvikler, for eksempel tredjepartsbiblioteker som ikke kan garanteres, til å kjøre side om side.
  • En begrensning av standardbiblioteket som funksjoner som potensielt kan skape sikkerhetsproblemer er fjernet fra. For eksempel bibliotekene "io" (tilgang til filer og oppstartsprosesser), "pakke" (tilgang til filer og lastemoduler), "os" (funksjoner for å få tilgang til filer og endre miljøvariabler er fjernet), "Debug" (usikkert minnehåndtering), "dofile" og "loadfile" (filsystemtilgang).
  • Gi verktøy for statisk kodeanalyse, feildeteksjon (Linter) og validering av bruk av typer.
  • Analysator, bytekode tolk og proprietær kompilator med høy ytelse.
  • Luau støtter ikke JIT-kompilering ennå, men det hevdes at Luau-tolken er ganske sammenlignbar i ytelse med LuaJIT i noen situasjoner.

Endelig hvis du er interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.