Lua

Lua — легковесный (англ. light-weight) интерпретируемый язык программирования, разработанный подразделением Tecgraf Католического университета Рио-де-Жанейро (Computer Graphics Technology Group of Pontifical Catholic University of Rio de Janeiro in Brazil). Является свободно распространяемым, с открытыми исходными текстами на языке Си.

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

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

x, y = y, x

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

print "Hello, world!"

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

Как и многие интерпретируемые языки программирования, реализация LUA имеет отдельно компилятор с исходного языка в исполняющих байт-код и виртуальную машину для исполнения сгенерированного байт-кода. Надо отметить компактность байт-кода: в генерируемом коде используется всего 35 команд! Причём байт-код — это не команды стековой машины, а команды некоего виртуального процессора с несколькими регистрами, что повышает эффективность исполнения. В стандартной виртуальной машине LUA используется распределение памяти со сборкой мусора (аналогично Java).

Для задач критичных по времени имеется JIT компилятор LUA LuaJIT.

LUA использует единый строковой пул, что позволяет снизить расходы памяти на хранение строк.

Язык используется в следующих играх:

LUA широко используется как язык скриптов в программном обеспечении сети Direct Connect.

Ссылки

Lua на русском

  • [1] — Справочное руководство по языку программирования Lua 4.0
  • [2] — Андрей Зубинский — Еще один «летний» язык программирования
  • [3] — Введение в Lua


 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home