Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Lua | |
---|---|
Класс языка | язык программирования |
Появился в | 1993[3] |
Автор |
Роберту Иерузалимски, Валдемар Селиш, Луиш Энрике ди Фигейреду |
Разработчик | Роберту Иерузалимски[1] |
Расширение файлов |
.lua [4][5], .luna , .lunaire или .anair |
Выпуск | |
Испытал влияние | C++, Клу, Simple Object Language[вд], DEL[вд], Снобол, Модула, Модула-2 и Scheme |
Лицензия | лицензия MIT[6][7] |
Сайт | lua.org (англ.) (порт.) |
ОС | кроссплатформенность[8] |
Медиафайлы на Викискладе |
Lua (лу́а, с порт. — «луна»[9]) — скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро[англ.] (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си.
По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается Паскале-подобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей.
Lua предназначен для пользователей, не являющихся профессиональными программистами, вследствие чего большое внимание уделено простоте дизайна и лёгкости обучения. Язык широко используется для создания тиражируемого программного обеспечения (например, на нём написан графический интерфейс пакета Adobe Lightroom). Также получил известность как язык программирования уровней и расширений во многих играх[10], в том числе Garry’s Mod, Roblox, Minetest.
<ref>
; для сносок pollres
не указан текст