<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Доступен язык программирования Lua 5.5</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html</link>
    <description>После пяти лет разработки доступен релиз Lua 5.5, быстрого и компактного скриптового языка программирования, получившего большое распространение в качестве встраиваемого языка для определения конфигурации и для написания расширений. Код интерпретатора Lua написан на языке Си и распространяется под лицензией MIT...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64476&lt;br&gt;</description>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#152</link>
    <pubDate>Sat, 27 Dec 2025 07:20:00 GMT</pubDate>
    <description>&amp;gt;&amp;gt; То есть, впихнули в язык все возможные на свете парадигмы (ну, или почти все) . &lt;br&gt;&amp;gt;&amp;gt; Другими словами, минимализмом здесь и не пахнет. ;) &lt;br&gt;&lt;br&gt;Прежде чем строить предположения космического масштаба, неплохо бы поинтересоваться &#091;b&#093;как именно&#091;/b&#093; релизованы эти парадигмы. &lt;br&gt;&lt;br&gt;Формально, утверждение про &amp;#171;&#091;I&#093;object-oriented, functional, data-driven, and data description&#091;/I&#093;&amp;#187;  не является ложным. Но на самом деле, всё ОО и функциональщина в Lua &amp;#8212; это тонюсенькая прослоечка синтаксического сахара к уже и так изначально существующим элементам языка. &lt;br&gt;&lt;br&gt;Буквально: итераторы, адресация к элементам таблиц через точку, ссылка на функцию как значение, this через двоеточие и мета&amp;#8211;таблицы.  Всё это было возможно реализовать, не раздувая слишком уж сильно уже имеющийся дизайн &amp;#8212; и это реализовали. &lt;br&gt;&lt;br&gt;Само&amp;#8211;собой, с языками, изначально спроектированными как объекто&amp;#8211;ориентированные или функциональные это тягаться не может. Но, повторюсь, вся суть Lua и вся её философия &amp;#8212; делать ка</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#151</link>
    <pubDate>Sat, 27 Dec 2025 06:56:47 GMT</pubDate>
    <description>&amp;gt; В этот футпринт включается и парсер языка тоже: когда ты компиляешь с -llua5.4 у твоей программы в памяти будет и парсер тоже. &lt;br&gt;&lt;br&gt;Строго говоря, PUC-Lua можно собрать и без парсера, только VM, исполняющую байткод. Так иногда и делают во всяком embedded, где ресурсов совсем мало. &lt;br&gt;&lt;br&gt;&amp;gt; lua получил оператор &#037; где-то в версии 5.1 или позже?&lt;br&gt;&lt;br&gt;А в предылущих версиях языка (c четвёртой по 5.0) на &amp;#171;&#091;i&#093;&#037;&#091;/i&#093;&amp;#187; висели обращения к upvalue. Когда upvalue как концепцию выкинули, символ освободился.&lt;br&gt;&lt;br&gt;&amp;gt; поддержка &#037; не требует многого&lt;br&gt;&lt;br&gt;Вот, примерно так может подумать человек, который в жизни не проектировал виртуальных машин и не писал интерпретаторов/эмуляторов. &lt;br&gt;&lt;br&gt;На деле же каждый оператор &amp;#8212; это и усложнение парсера, и ещё один опкод, и соответствующее усложнение логики, исполняющей опкоды. А это самое ядро языка &amp;#8212; чем оно компактнее, тем шустрее всё работает.&lt;br&gt;&lt;br&gt;Каждый сам может себе сделать собственную &#091;b&#093;функцию&#091;/b&#093; modulo при желании. Даже в мануале от 5.1/5.2 раньше были такие строчки:&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Прохожий)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#150</link>
    <pubDate>Fri, 26 Dec 2025 18:48:16 GMT</pubDate>
    <description>&amp;gt; Но с другой стороны, если ты в любой программе не используешь и 1&#037; стандартной библиотеки, то выходит что 99&#037; этой библиотеки ты тащишь мёртвым грузом в каждую свою программу.&lt;br&gt;&lt;br&gt;Ну и что? В этой программе - вот этот 1&#037;, а в другой - уже вот тот 1&#037;, и т.д. Кроме того, никто ведь не заставляет, насколько я понимаю, из-за вот этого одного процента тянуть всю библиотеку, если занимаемое ею место действительно так критично. Однако же хорошо, когда в стандартной библиотеке уже есть всё, что тебе надо (при условии, что ресурсы позволяют её задействовать в твоей программе).&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Где можно почитать о назначении Lua?&lt;br&gt;&amp;gt; Ой, я не знаю. Почитай про историю lua и про то где она применяется, если тебе так интересно. &amp;lt;skipped&amp;gt; У lua принцип -- минимализм. Это встраиваемый скриптовый язык, ему нужен минимальный футпринт.&lt;br&gt;&lt;br&gt;Цитата отсюда (https://www.lua.org/about.html):&lt;br&gt;&lt;br&gt;Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports several programming styles: procedural, object-oriented, function</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#149</link>
    <pubDate>Fri, 26 Dec 2025 13:36:54 GMT</pubDate>
    <description>Лангсерверы меня бесят тем, что они поломанный синтаксис не могут парсить. В процессе правок он у меня часто поломанный -- незакрытые блоки, незавершённые стейтменты и тп. Ну и возни с ними, отключать все эти раздражающие всплывающие окна, которые мне дают непрошеных подсказок. Я их не использую. Навязчивые всплывающие подсказки можно отломать, но возиться надо. А вот из-за поломанного синтаксиса начинаются эти свистопляски на экране, будто я не знаю на терминале управления АЭС прям перед взрывом -- это я даже разбираться не буду как отламывать нежно, отломаю вместе с лангсервером.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#148</link>
    <pubDate>Fri, 26 Dec 2025 07:10:08 GMT</pubDate>
    <description>&amp;gt; Несколько я понимаю, это был всего лишь пример, когда итераторами не обойтись.&lt;br&gt;&lt;br&gt;Это был скорее пример тому, что итераторы в lua убогие.&lt;br&gt;&lt;br&gt;&amp;gt; Наличие стандартных распространённых абстракций - это не блоат, это способ ускорить разработку.&lt;br&gt;&lt;br&gt;Но с другой стороны, если ты в любой программе не используешь и 1&#037; стандартной библиотеки, то выходит что 99&#037; этой библиотеки ты тащишь мёртвым грузом в каждую свою программу.&lt;br&gt;&lt;br&gt;&amp;gt; Где можно почитать о назначении Lua?&lt;br&gt;&lt;br&gt;Ой, я не знаю. Почитай про историю lua и про то где она применяется, если тебе так интересно. Это наверное самый простой путь. Есть более сложный путь -- можно начать писать программы на lua, и посмотреть, что на lua пишется сложно, а что просто. Вот когда у тебя перед глазами будет по несколько тех и этих примеров, ты сам поймёшь.&lt;br&gt;&lt;br&gt;Или ты можешь почитать меня. Ты в курсе, что lua получил оператор &#037; где-то в версии 5.1 или позже? Ну, вот теперь в курсе, по-любому. Почему этот оператор не было добавлен в lua раньше? Потому что _минимализм_. Если тебе очен</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#147</link>
    <pubDate>Fri, 26 Dec 2025 01:16:13 GMT</pubDate>
    <description>И? Это как&amp;#8211;то отменяет вышесказанное?&lt;br&gt;&lt;br&gt;Форк от OpenResty &amp;#8212; это просто LuaJIT со всеми его недостатками/особенностями (синтаксис 5.1 и надёрганные элементы из 5.2/5.3) плюс весьма специфические расширения OpenResty &amp;#8212; table.clone, table.nkeys, table.isarray, thread.exdata, lua_setexdata(), lua_restthread() и подобное.  Преимуществ перед ванильным LuaJIT у него не настолько много, чтобы как&amp;#8211;то специально заострять внимание. Просто специально заточенный форк под сервера и управление тредами. Встраивают в приложения/игровые движки обычно ванильный.&lt;br&gt;&lt;br&gt;Попытка хоть как&amp;#8211;то плохо&amp;#8211;медленно актуализировать до 5.3 &amp;#8212; это, например, вот: h&#091;b&#093;&#091;/b&#093;ttps://github.com/katlogic/ljx&lt;br&gt;Но оно васянское и благополучно стухло ещё в 2017. Что, в целом, не удивительно.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Прохожий)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#146</link>
    <pubDate>Thu, 25 Dec 2025 11:24:31 GMT</pubDate>
    <description>&amp;gt;Зачем писать quicksort на lua?&lt;br&gt;&lt;br&gt;Несколько я понимаю, это был всего лишь пример, когда итераторами не обойтись.&lt;br&gt;&lt;br&gt;&amp;gt;Все языки из твоего списка -- жертвы блоата.&lt;br&gt;&lt;br&gt;Здесь часто предъявляют обоснованные претензии к Си. Дескать, каждый раз приходится писать абстракции с нуля в этом языке для каждого нового проекта. Наличие стандартных распространённых абстракций - это не блоат, это способ ускорить разработку. Странно, что надо разжевывать подобные вещи.&lt;br&gt;&lt;br&gt;&amp;gt;Если ты пытаешься использовать lua не по назначению&lt;br&gt;&lt;br&gt;Где можно почитать о назначении Lua? &lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#145</link>
    <pubDate>Thu, 25 Dec 2025 10:30:26 GMT</pubDate>
    <description>Почти все кому нужен luajit используют форк от openresty.&lt;br&gt;</description>
</item>

<item>
    <title>Доступен язык программирования Lua 5.5 (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/138747.html#144</link>
    <pubDate>Thu, 25 Dec 2025 05:47:47 GMT</pubDate>
    <description>Гитхостинг гадский &amp;#8212; весь напичкан яндексовой малварью. Кидали бы уже ссылку на .git тогда, если ничего поприличнее нет.&lt;br&gt;&lt;br&gt;А вообще, есть куда как более давнее решение:  h&#091;b&#093;&#091;/b&#093;ttps://github.com/kikito/inspect.lua&lt;br&gt;&lt;br&gt;Установка: &#091;code&#093;&amp;gt; luarocks install inspect&#091;/code&#093;&lt;br&gt;&lt;br&gt;Использование: &#091;code&#093;inspect = require(&apos;inspect&apos;);&lt;br&gt;print(inspect(_G));&lt;br&gt;&#091;/code&#093;&lt;br&gt;</description>
</item>

</channel>
</rss>
