Луау, варијанта језика Луа за проверу типа постаје отворени код

Недавно најављено је издање прве верзије независно од програмског језика Луау, који се наставља са развојем Луа-е и такође је компатибилан са претходним верзијама Луа-е 5.1.

Луау језик је дизајниран првенствено за уграђивање скриптних машина у апликацијама и има за циљ постизање високих перформанси и ниске потрошње ресурса. Код пројекта је написан на Ц++ и отворен је под МИТ лиценцом.

Луау проширује Луа са могућностима провере типова и неким верзијама нове синтактике попут стринг литерала. Језик је компатибилан са претходним верзијама Луа 5.1 и делимично са новијим верзијама. Луа Рунтиме АПИ је подржан, дозвољавајући Луау-у да се користи са већ постојећим кодовима и везама.

Од данас, Луау више није неодвојиви део Роблок платформе; је независан језик отвореног кода.

Извршно време језика је засновано на увелико ревидираном Луа 5.1 рунтиме коду, али је тумач потпуно преписан. Развој је укључивао неке нове технике оптимизације које су омогућиле постизање већих перформанси у поређењу са Луа-ом.

Када је Роблок створен пре 15 година, изабрали смо Луа као програмски језик. Луа је била мала, брза, лака за интеграцију и учење, и отворила је огромне могућности за наше програмере.

Велики део Роблок-а је изграђен на Луа-и, укључујући стотине хиљада линија интерно развијеног кода који покреће Роблок апликацију и Роблок Студио до данас, као и милионе искустава које су програмери створили. За многе од њих то је био први програмски језик који су научили.

Пројекат је развио Роблок и користи се у коду платформе за игре и прилагођеним апликацијама из ове компаније, укључујући и издавача Роблок Студио. У почетку, Луау је развијен иза затворених врата, али је на крају одлучено да се пренесе у категорију отворених пројеката за даљи заједнички развој уз учешће заједнице.

Главне карактеристике:

  • Систем секвенцијалног типа, који заузима средњу позицију између динамичког и статичког писања. Луау дозвољава статичко писање по потреби навођењем информација о типу путем посебних напомена.
  • Тхе уграђени типови "Било који", "нула", "боолеан", "број", "стринг" и "нит". Истовремено, очувана је и могућност коришћења динамичког куцања без експлицитног дефинисања типа променљивих и функција.
  • Подршка за литералне низове (као у Луа 5.3)
  • Подршка за израз „настави“, поред постојеће кључне речи „бреак“, за прелазак на нову итерацију петље.
  • Подршка за сложене операторе доделе
  • Подршка за коришћење условни блокови „Ако-онда-друго” у облику израза који враћају вредност израчунату током извршавања блока. Можете навести произвољан број елсеиф исказа у блоку.
  • Присуство режима сандбок-а што вам омогућава да покренете непоуздани код. Ова функција се може користити за организовање вашег сопственог кода и кода који је написао други програмер, на пример библиотека трећих страна за које се не може гарантовати, који ће радити један поред другог.
  • Уклоњено је ограничење стандардне библиотеке из које су функције које би потенцијално могле створити безбедносне проблеме. На пример, библиотеке „ио“ (приступ датотекама и процесима покретања), „пакет“ (приступ датотекама и учитавање модула), „ос“ (уклоњене су функције за приступ датотекама и промена променљивих окружења), „Дебуг“ (несигурно руковање меморијом), „дофиле“ и „лоадфиле“ (приступ систему датотека).
  • Обезбедите алате за статичку анализу кода, откривање грешака (Линтер) и валидацију употребе типова.
  • анализатор, тумач бајткода и власнички компајлер високих перформанси.
  • Луау још увек не подржава ЈИТ компилацију, али се тврди да је Луау интерпретер прилично упоредив по перформансама са ЛуаЈИТ-ом у неким ситуацијама.

Коначно ако сте заинтересовани да сазнате више о томе, можете проверити детаље У следећем линку.


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.