от DeepUltramarine(22-12-2025)

Lua 5.5 е най-новата версия на програмния език Lua и е официално пусната днес, 22 декември 2025г. Това е първата голяма версия след дълги пет години (Lua 5.4 е от 2020г.) и носи няколко важни подобрения, фокусирани върху производителност, памет и удобство.

Ето какви са и основните промени и подобрения в Lua:

  • Декларации за глобални променливи:
    Сега може да се декларират глобални променливи изрично (optional feature), за да се избегнат случайни грешки при използване на недефинирани globals. Това е голяма промяна за по-строг код, без да се нарушават старите скриптове.
  • По-компактни масиви (arrays):
    Големите масиви използват до 60% по-малко памет, което е добре дошло за приложения с много данни (игри, симулации и т.н.).
  • Подобрения в garbage collector (GC):
    Нов generational mode, който е по-ефективен, и major collections се извършват постепенно (не отнемат толкова време).
  • Някои други новости:
  • Повече нива в конструкторите на таблици.
    Нова функция table.create.
    Подобрения в UTF-8 (например utf8.offset връща и крайната позиция).
    Поддръжка за external strings (низове, управлявани извън Lua).
    Нови C API функции като luaL_openselectedlibs и luaL_makeseed.
    По-добро повторно използване на паметта при dump/undump и strings.
    lua.c зарежда readline динамично.

    Lua е един от най-разпространените скриптови езици в света, особено в ниши като гейм разработка и embedded системи (вградени устройства). Не е толкова видим в общи класации като TIOBE (където обикновено е извън топ 20-30), защото не се използва за уеб или мобилни апликации като JavaScript или Python, но в своята област е доминиращ и продължава да расте през 2025г.
    Lua 5.5 запазва философията на езика - лек, бърз и лесен за вграждане (embedding). Както при всяка нова 5.x версия, има някои несъвместимости – прекомпилирани байткодове от по-стари версии няма да работят директно и C модулите трябва да се прекомпилират.

    Източник: https://www.phoronix.com/news/Lua-5.5-Released
    Списък с всички промени: https://www.lua.org/manual/5.5/readme.html#changes


    << | Opus 1.6 audio codec - какво ново? >>