Lua

Lua
Парадигмамульти-парадигмова: скриптова, імперативна, функціональна, об'єктно-орієнтована, прототипна
Дата появи1993[1] Редагувати інформацію у Вікіданих
ТворціРоберто Єрусалимський Редагувати інформацію у Вікіданих
РозробникРоберто Єрусалимський[2] Редагувати інформацію у Вікіданих
Останній реліз
Система типізаціїдинамічна, слаба, качина
Основні реалізаціїLua, LuaJIT, LLVM-Lua, LuaCLR, Nua, Lua Alchemy
ДіалектиMetalua
Під впливом відC++, CLU, Simple Object Languaged, DELd, Snobol, Модула, Modula-2d і Scheme Редагувати інформацію у Вікіданих
Вплинула наIo[en], GameMonkey, Squirrel, Falcon, MiniD
Мова реалізаціїC[3] Редагувати інформацію у Вікіданих
Операційна системакросплатформова програма[4] Редагувати інформацію у Вікіданих
ЛіцензіяMIT[5][6] Редагувати інформацію у Вікіданих
Звичайні розширення файлів.lua[7][8], .luna, .lunaire або .anair Редагувати інформацію у Вікіданих
Репозиторій вихідного кодуgithub.com/lua/lua Редагувати інформацію у Вікіданих
Вебсайтlua.org

Lua ([лу́а], порт. місяць) — швидка і компактна скриптова мова програмування, розроблена підрозділом Tecgraf Католицького університету Ріо-де-Жанейро (Computer Graphics Technology Group of Pontifical Catholic University of Rio de Janeiro in Brazil). Інтерпретатор мови є вільно поширюваним, з відкритим початковим кодом на мові C.

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

Lua отримала велике поширення в ролі вбудованої в інші проєкти мови сценаріїв (наприклад, для визначення конфігурації або для написання розширень). Lua комбінує простий процедурний синтаксис з потужними можливостями опису даних через використання асоціативних масивів і розширюваної семантики мови. У Lua використовується динамічна типізація, мовні конструкції перетворюються на байт-код, який виконується поверх регістрової віртуальної машини з автоматичним збирачем сміття. Сам інтерпретатор оформлений у вигляді бібліотеки, легко інтегрованої в проєкти на мовах Сі та Сі++. Код інтерпретатора Lua написаний мовою Сі й розповсюджується під ліцензією MIT.

  1. Lua: about
  2. https://www.lua.org/authors.html
  3. The lua Open Source Project on Open Hub: Languages Page — 2006.
  4. https://www.lua.org/about.html
  5. https://www.lua.org/license.html
  6. The lua Open Source Project on Open Hub: Licenses Page — 2006.
  7. Lua 5.1 Reference Manual — 2019.
  8. A Look at the Design of Lua[New York]: Association for Computing Machinery, 2018. — ISSN 0001-0782; 1557-7317

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne