Button Button

'''Lua''' — легковесный (от англ. "light-weight") интерпретируемый язык программирования, разработанный подразделением Tecgraf Католического университета Рио-де-Жанейро. Является свободно распространяемым, с открытыми исходными текстами на языке Си.

По возможностям, идеологии и реализации язык ближе всего к JavaScript, однако Lua отличается более мощными и гораздо более гибкими конструкциями, спроектирован с целью «не плодить сущности сверх необходимого». Хотя Lua не содержит понятия класса и объекта в явном виде, механизмы объектно-ориентированного программирования с поддержкой прототипов (включая множественное наследование) легко реализуются с использованием ''метатаблиц'', которые также позволяют перегрузку операций и т. п. Реализуемая модель ООП (как и в JavaScript) — прототипная.

Синтаксис Lua можно описать как нечто среднее между Си (JavaScript) и Паскалем. Подобно таким скриптовым языкам, как Python и Icon, допускает многократные присваивания. В простейшем случае это позволяет писать выражения вида

x, y = y, x

Программа «Hello, world» в простейшем случае выглядит так:

print "Hello, world!"

В настоящее время используется в различных проектах, где требуется встроить достаточно быстрый и нетрудный в освоении скриптовый язык программирования — например, в разработке игр, где Lua часто используется между игровым «движком» и данными для написания сценариев поведения/взаимодействия объектов.