Luau, вариант за проверка на типа на езика Lua става отворен код

наскоро беше обявено пускането на първата версия независимо от езика за програмиране Луау, който продължава с развитието на Lua и също е съвместим с предишни версии на Lua 5.1.

Езикът на Луау е предназначен предимно за вграждане на скриптови машини в приложения и има за цел да постигне висока производителност и ниска консумация на ресурси. Кодът на проекта е написан на C ++ и е отворен под лиценза на MIT.

Luau разширява Lua с възможности за проверка на типа и някои компилации нова синтактика като низови литерали. Езикът е съвместим с предишни версии на Lua 5.1 и частично с по-нови версии. Поддържа се Lua Runtime API, позволявайки Luau да се използва със съществуващи кодове и връзки.

От днес Luau вече не е неразделна част от платформата Roblox; е независим език с отворен код.

Времето за изпълнение на езика се основава на силно преработен код за изпълнение на Lua 5.1, но интерпретаторът е напълно пренаписан. Разработката включваше някои нови техники за оптимизация, които направиха възможно постигането на по-висока производителност в сравнение с Lua.

Когато Roblox беше създаден преди 15 години, ние избрахме Lua като език за програмиране. Lua беше малък, бърз, лесен за интегриране и научаване и отвори огромни възможности за нашите разработчици.

Голяма част от Roblox е изградена на Lua, включително стотици хиляди редове вътрешно разработен код, който захранва приложението Roblox и Roblox Studio и до днес, както и милионите изживявания, които разработчиците създадоха. За много от тях това беше първият език за програмиране, който научиха.

Проектът е разработен от Roblox и се използва в код на игровата платформа и персонализирани приложения от тази компания, включително издателя на Roblox Studio. Първоначално Luau беше разработен при закрити врати, но в крайна сметка беше решено да се прехвърли в категорията на отворените проекти за по-нататъшно съвместно развитие с участието на общността.

Основни характеристики:

  • Система от последователен тип, която заема междинна позиция между динамично и статично писане. Luau позволява статично писане, ако е необходимо, като посочва информация за типа чрез специални пояснения.
  • В вградени типове „Всяко“, „нула“, „логично“, „число“, „низ“ и „нишка“. В същото време се запазва и възможността за използване на динамично въвеждане без изрично дефиниране на типа на променливите и функциите.
  • Поддръжка за литерални низове (както в Lua 5.3)
  • Поддръжка на израза "продължи", в допълнение към съществуващата ключова дума "break", за да преминете към нова итерация на цикъла.
  • Поддръжка за съставни оператори за присвояване
  • Подкрепа за използването на условни блокове "Ако-то-друго" под формата на изрази, които връщат стойността, изчислена по време на изпълнението на блока. Можете да посочите произволен брой изрази elseif в блок.
  • Наличието на режим пясъчна кутия което ви позволява да изпълнявате ненадежден код. Тази функция може да се използва за организиране на вашия собствен код и код, написан от друг разработчик, например библиотеки на трети страни, които не могат да бъдат гарантирани, за да работят един до друг.
  • Премахнато е ограничение на стандартната библиотека, от която функции, които потенциално биха могли да създадат проблеми със сигурността. Например, библиотеки "io" (достъп до файлове и стартиращи процеси), "пакет" (достъп до файлове и зареждане на модули), "os" (функции за достъп до файлове и промяна на променливите на средата са премахнати), "Debug" (несигурни обработка на паметта), "dofile" и "loadfile" (достъп до файловата система).
  • Осигурете инструменти за статичен анализ на кода, откриване на грешки (Linter) и валидиране на използването на типове.
  • анализатор, интерпретатор на байткод и високопроизводителен собствен компилатор.
  • Luau все още не поддържа JIT компилация, но се твърди, че интерпретаторът на Luau е доста сравним по производителност с LuaJIT в някои ситуации.

Накрая ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.


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

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.