Lua, Lua-kielen tyyppitarkistusversio, tulee avoimeksi lähdekoodiksi

äskettäin ensimmäisen version julkaisu ilmoitettiin ohjelmointikielestä riippumaton luau, joka jatkuu Luan kehityksen myötä ja on yhteensopiva myös Lua 5.1:n aiempien versioiden kanssa.

Luaun kieli on suunniteltu ensisijaisesti käsikirjoituskoneiden upottamiseen sovelluksissa ja tavoitteena on korkea suorituskyky ja alhainen resurssien kulutus. Projektikoodi on kirjoitettu C ++ -kielellä ja se on avoinna MIT-lisenssillä.

Luau laajentaa Luaa tyypintarkistusominaisuuksilla ja joillakin versioilla uusia syntaktioita, kuten merkkijonoliteraaleja. Kieli on yhteensopiva Lua 5.1:n aiempien versioiden ja osittain uudempien versioiden kanssa. Lua Runtime API on tuettu, mahdollistaa Luau:n käytön jo olemassa olevien koodien ja linkkien kanssa.

Tästä lähtien Luau ei ole enää erottamaton osa Roblox-alustaa; on itsenäinen avoimen lähdekoodin kieli.

Kielen ajonaika perustuu voimakkaasti uudistettuun Lua 5.1 -ajonaikaiseen koodiin, mutta tulkki on kirjoitettu kokonaan uudelleen. Kehitys sisälsi joitain uusia optimointitekniikoita, jotka mahdollistivat korkeamman suorituskyvyn saavuttamisen Luaan verrattuna.

Kun Roblox luotiin 15 vuotta sitten, valitsimme ohjelmointikieleksi Luan. Lua oli pieni, nopea, helppo integroida ja oppia, ja se avasi valtavia mahdollisuuksia kehittäjillemme.

Suuri osa Robloxista rakennettiin Lualle, mukaan lukien satojatuhansia rivejä sisäisesti kehitettyä koodia, joka käyttää Roblox-sovellusta ja Roblox Studiota tähän päivään asti, sekä miljoonia kehittäjien luomia kokemuksia. Monille heistä se oli ensimmäinen ohjelmointikieli, jonka he oppivat.

Roblox on kehittänyt projektin, ja sitä käytetään pelialustakoodissa ja mukautetuissa sovelluksissa tältä yritykseltä, mukaan lukien Roblox Studion julkaisija. Aluksi Luauta kehitettiin suljettujen ovien takana, mutta lopulta se päätettiin siirtää avoimien hankkeiden kategoriaan yhteistä jatkokehitystä varten yhteisön osallistuessa.

Ominaisuudet:

  • Sekvenssityyppinen järjestelmä, joka sijaitsee dynaamisen ja staattisen kirjoittamisen välissä. Luau sallii staattisen kirjoittamisen tarpeen mukaan määrittämällä tyyppitiedot erityisten huomautusten avulla.
  • The sisäänrakennetut tyypit "Mikä tahansa", "nolla", "looginen", "numero", "merkkijono" ja "säie". Samalla säilyy myös kyky käyttää dynaamista kirjoittamista ilman, että muuttujien ja funktioiden tyyppiä erikseen määritellään.
  • Kirjaimellisten merkkijonojen tuki (kuten Lua 5.3)
  • Tuki ilmaisulle "continue" olemassa olevan avainsanan "break" lisäksi siirtyäksesi silmukan uuteen iteraatioon.
  • Tuki yhdistelmätehtäväoperaattoreille
  • Tuki käyttöön ehdolliset lohkot "Jos-niin-else" lausekkeiden muodossa, jotka palauttavat lohkon suorituksen aikana lasketun arvon. Voit määrittää lohkoon mielivaltaisen määrän elseif-lauseita.
  • Hiekkalaatikkotilan läsnäolo jonka avulla voit suorittaa epäluotettavaa koodia. Tämän toiminnon avulla voit järjestää oman koodisi ja toisen kehittäjän kirjoittaman koodin, esimerkiksi kolmannen osapuolen kirjastot, joita ei voida taata, toimimaan rinnakkain.
  • Vakiokirjaston rajoitus, josta on poistettu toiminnot, jotka voivat aiheuttaa tietoturvaongelmia. Esimerkiksi kirjastot "io" (pääsy tiedostoihin ja käynnistysprosesseihin), "paketti" (pääsy tiedostoihin ja latausmoduuleihin), "os" (tiedostojen käyttö ja ympäristömuuttujien muuttaminen on poistettu), "Debug" (suojaamaton) muistinkäsittely), "dofile" ja "loadfile" (tiedostojärjestelmän käyttö).
  • Tarjoa työkaluja staattisen koodin analysointiin, virheiden havaitsemiseen (Linter) ja tyyppien käytön validointiin.
  • analysaattori, tavukoodin tulkki ja korkean suorituskyvyn oma kääntäjä.
  • Luau ei vielä tue JIT-kokoelmaa, mutta väitetään, että Luau-tulkki on suorituskyvyltään melko verrattavissa LuaJITiin joissakin tilanteissa.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.