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 использует единый строковой пул, что позволяет снизить расходы памяти на хранение строк.
Язык используется в следующих играх:
- Far Cry
- World of Warcraft
- Игры из серии Baldur's Gate
- MDK2
- аддоны к Half-Life 2
- Игры построенные на движке GrimE (Grim Fandango, Escape from Monkey Island)
- Heroes of Might and Magic V
LUA широко используется как язык скриптов в программном обеспечении сети Direct Connect.
[править] Ссылки
[править] Lua на русском
- [1] — Справочное руководство по языку программирования Lua 4.0
- [2] — Андрей Зубинский — Еще один «летний» язык программирования
- [3] — Введение в Lua
Используемые в разработке: ABAP/4 | Ада | Ассемблеры | Awk | BASIC | Си | COBOL | C++ | C# | ColdFusion | D | Delphi | Forth | FoxPro | DataFlex | Фортран | Java | JavaScript | J++ | J# | Icon | Limbo | Лисп | Lua | Objective-C | Оберон | Oz | Паскаль | Perl | PHP | PL/I | Пролог | Руби | Python | Tcl | Smalltalk | SQL | Visual DataFlex | Visual Basic | VB.NET
|