The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Доступен язык программирования Lua 5.5"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступен язык программирования Lua 5.5"  +/
Сообщение от opennews (?), 23-Дек-25, 00:02 
После пяти лет разработки доступен релиз Lua 5.5, быстрого и компактного скриптового языка программирования, получившего большое распространение в качестве встраиваемого языка для определения конфигурации и для написания расширений. Код интерпретатора Lua написан на языке Си и распространяется под лицензией MIT...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=64476

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Доступен язык программирования Lua 5.5"  +9 +/
Сообщение от Недоэксперт (?), 23-Дек-25, 00:04 
а continue так и не добавили )
Ответить | Правка | Наверх | Cообщить модератору

21. "Доступен язык программирования Lua 5.5"  +3 +/
Сообщение от anonymos (?), 23-Дек-25, 02:06 
Не благодарите )

for line in file:lines() do
    if not line or line == '' then goto continue end
    
    --//---------------//--
    --// Ваш супер код //--
    --//---------------//--

    ::continue::
end

Ответить | Правка | Наверх | Cообщить модератору

30. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от Абра (?), 23-Дек-25, 03:22 
Goto можно?)
Ответить | Правка | Наверх | Cообщить модератору

121. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (121), 24-Дек-25, 10:00 
Нужно!
Ответить | Правка | Наверх | Cообщить модератору

3. "Доступен язык программирования Lua 5.5"  –4 +/
Сообщение от Аноним (-), 23-Дек-25, 00:05 
через одного с ним работали, либо сталкивались
Ответить | Правка | Наверх | Cообщить модератору

4. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (4), 23-Дек-25, 00:07 
Почти во всех реальных проектах с Lua люди используют LuaJIT, так что полезность данного релиза, к сожалению, не такая большая.
Ответить | Правка | Наверх | Cообщить модератору

20. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Xasd9 (?), 23-Дек-25, 01:50 
тык они (люди) могут и Python и PHP использовать… вопрос-то не в этом.

LuaJIT это говвно на палке. а Lua (обычное) — это конфетка.

но ктож запретит тебе использовать LuaJIT?

Ответить | Правка | Наверх | Cообщить модератору

25. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (25), 23-Дек-25, 02:45 
Что не так с LuaJIT?
Ответить | Правка | Наверх | Cообщить модератору

27. "Доступен язык программирования Lua 5.5"  +10 +/
Сообщение от Аноним (27), 23-Дек-25, 03:20 
Это велосипед на костылях, гвоздями прибитый к низкоуровневой структуре опкодов Lua 5.1, абсолютно нерасширяемый, да ещё и дико замудрённый, с генеримыми портянками ассемблерного кода. Поддержку каждой новой нативной архитектуры добавлял лично автор, за дикие деньги (корпоративных спонсоров) и в огромные сроки.

Вторая проблема — его автор, который заартачился и не стал поддерживать официально даже Lua 5.2 в пользу собственных велосипедных расширений, встроенных в LuaJIT. Ну а реализовывать integer'ы и прочие нововведения — это, считай, всё переписывать и переделывать, этого точно никто делать не будет. Были сторонние попытки актуализировать LuaJIT до 5.3, но там новые опкоды реализованы просто обычными функциями, без JIT.

В результате имеем то что имеем — дикую фрагментацию, половина сообщества сидит на древнем 5.1 («потомушта LuaJIT»), другая на актуальной версии. И бывший когда–то, лет десять назад,  крутым и модным LuaJIT теперь превратился в огромную гирю, если не якорь, тянущий весь язык в бездны стагнации.

Ответить | Правка | Наверх | Cообщить модератору

44. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от anonymos (?), 23-Дек-25, 05:14 
Сразу видно "иксперта" )))
Если пойти на сайт luajit.org и заглянуть в раздел extensions, то картина рисуется совсем другая.
Ответить | Правка | Наверх | Cообщить модератору

46. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (27), 23-Дек-25, 05:40 
Какая другая?

Там как раз и рисуется картина, что бОльшая часть 5.2 таки реализована, но не вся, не до конца, а то что есть — через одно место и по–своему. Потому что Mike Pall весь в белом стоит красивый, а остальные, включая апстрим — Д'артаньяны.

А суровая правда в том, что человек ухватился за свой хитрый хак, один раз реализованный в незапамятные времена. Но так красиво, как оно было для 5.1, уже не сделать, а запал выгорел и свежих идей у него нет. Оттого и вся драма с попыткой спихнуть проект на кого–нибудь.

Ну и его лицемерие отдельно раздражает. Пример — по ссылке на гитхаб в комменте ниже. «Хаха, поглядите на глупенький апстрим, ну и кто теперь себя загнал в угол! А у меня затостабильность!».

А по факту апстрим развивается, а LuaJIT стагнирует и тянет на дно всё сообщество. Если бы это было оформлено как самостоятельный диалект языка, вроде Terra или Pluto — претензий бы не было. Но есть то, что есть.

Ответить | Правка | Наверх | Cообщить модератору

51. "Доступен язык программирования Lua 5.5"  –2 +/
Сообщение от Аноним (51), 23-Дек-25, 08:03 
Плохо, что в neovim именно luajit, а для другого мне lua и не нужен.
Ответить | Правка | Наверх | Cообщить модератору

50. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (27), 23-Дек-25, 07:36 
> Поддержку каждой новой нативной архитектуры добавлял лично автор

Слегка приврал — поддержку для ARM64, MIPS32 dual-number + soft-float, MIPS64, MIPS64 r6, PPC soft-float делала уже сербская контора RT-RK, как видно из https://luajit.org/sponsors.html.

Но тем не менее, массы желающих актуализировать проект не видать и причины тому сугубо архитектурные — придётся отказаться от NaN–tagging и капитально перетряхивать всё.  

Для размышления:
https://github.com/LuaJIT/LuaJIT/issues/182/
https://github.com/LuaJIT/LuaJIT/issues/924/

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

80. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (27), 23-Дек-25, 11:51 
На случай, если кто–нибудь заинтересуется, что такое NaN–tagging и в чём заключается «хитрый хак»:

https://web.archive.org/web/20101224111654if_/http://blog.mozilla.com/rob-sayre/2010/08/02/mozillas-new-javascript-value-representation/

https://web.archive.org/web/20091107031558if_/http://article.gmane.org/gmane.comp.lang.lua.general/58908

https://www.freelists.org/post/luajit/Few-questions-about-LuaJIT-internals-on-64-bit,6

Ответить | Правка | Наверх | Cообщить модератору

60. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (60), 23-Дек-25, 09:28 
> Вторая проблема — его автор

Он вообще "интересная личность". "Releases are an antiquated concept":

https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784...

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

62. "Доступен язык программирования Lua 5.5"  +/
Сообщение от mos87 (ok), 23-Дек-25, 09:33 
ппц сидеть и пейсать такую пафосную чушь

хорошо што ИИ подобные портянки теперь заменяет

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

63. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от mos87 (ok), 23-Дек-25, 09:33 
>Поддержку каждой новой нативной архитектуры добавлял лично автор, за дикие деньги (корпоративных спонсоров) и в огромные сроки.

ви так говорити, будто енто щото плохое

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

64. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от mos87 (ok), 23-Дек-25, 09:35 
>якорь, тянущий весь язык в бездны стагнации

жаль об этом не осведомлены 100500 проектов его использующие. Или им просто пох в отличие от анонографомана

а то бы все уже перешли на %САМАЯ_МОДНАЯ_СКРИПТОТА%

ЗЫ жаль, что TCL так же не "застагнировал"...

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

68. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (68), 23-Дек-25, 10:00 
Те, кто хот раз портировал луа код с версии на версию, понимают, почему луажит получил такую поддержку. Производительность приятный бонус.
Ответить | Правка | Наверх | Cообщить модератору

123. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Смузихлеб забывший пароль (?), 24-Дек-25, 12:37 
вопрос не в том, сколько проектов его уже использует( на примере сша и банковской системы, там и несравненно более древнее гамно до сих пор тянут ), а в том, сколько новых проектов на нём начинают
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

82. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Bottle (?), 23-Дек-25, 12:45 
Вот отличное описание проблем языков без стандарта. Та же ситуация с Питоном - никаких спецификаций, поэтому нет никакого понимания того, как будет работать альтернатива.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

85. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (27), 23-Дек-25, 13:16 
В Lua для каждой 5.x версии есть формальное описание полного синтаксиса языка, документация к библиотеке и батарея тестов на совместимость ( https://www.lua.org/tests/?order=d ).

Тут скорее момент, что популярная реализация застыла на старом стандарте, с частичной реализацией чуть менее старого, да ещё и со своими нестандартными расширениями. Примерно как было с языком C — новые стандарты выходили, а MSVC какое–то время забивал на их поддержку, уверенно поддерживая только C89 и лишь отчасти С99.

Ответить | Правка | Наверх | Cообщить модератору

129. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Bottle (?), 24-Дек-25, 15:16 
Luau роблоксовский так то тоже застрял на 5.1.
Может быть, это и хорошо, что все ориентируются на 5.1.
Ответить | Правка | Наверх | Cообщить модератору

93. "Доступен язык программирования Lua 5.5"  +/
Сообщение от MaxT (?), 23-Дек-25, 14:59 
>якорь, тянущий весь язык в бездны стагнации.

Ну что-ж поделать, если в LuaJIT отличный JIT и не менее отличный FFI. Вот люди и тянутся.
А если не хочется стагнации - берешь Teal и радуешься. https://github.com/teal-language/tl.

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

34. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Frestein (ok), 23-Дек-25, 03:37 
По факту. Пруф.
https://github.com/LuaJIT/LuaJIT/issues/929#issuecomment-136...
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

42. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Антикапиталист (?), 23-Дек-25, 04:11 
В реальных проектах lua используется как скрипты для автоматизации. Например, есть звонилка для sip-телефонии, я в душе не чаю что там под капотом, и не хочу знать, но благодаря lua могу делать очень нетривиальные вещи, вроде автодозвона через транк в pstn с периодичностью 100 мс по хитрому алгоритму.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

65. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от mos87 (ok), 23-Дек-25, 09:39 
Факт: LUA ПОМАГАЕТ СПАМЕРАМ!111

PS описанное это задача любого "языка расширения".

Ответить | Правка | Наверх | Cообщить модератору

76. "Доступен язык программирования Lua 5.5"  +3 +/
Сообщение от stepanxx (?), 23-Дек-25, 11:33 
Кошмар! Сначала замедлить! А потом заблокировать!!
Срочно
Ответить | Правка | Наверх | Cообщить модератору

104. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (-), 23-Дек-25, 16:58 
Что значит "реальный проект"? Я вот не вижу большого смысла в jit для lua. Если ты пишешь что-то тормозное, у тебя для этого есть C, с которым lua сопрягается легко и непринуждённо, в этом основное преимущество lua перед всеми остальными языками.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

5. "Доступен язык программирования Lua 5.5"  –2 +/
Сообщение от Аноним (5), 23-Дек-25, 00:19 
local player_hp = 100
plaeyr_hp = 90

луа молча хавает это, а ты потом ищешь баги. Форт в разы лучше

Ответить | Правка | Наверх | Cообщить модератору

52. "Доступен язык программирования Lua 5.5"  +4 +/
Сообщение от areful (?), 23-Дек-25, 08:08 
Не специалист в lua и вопрос чисто из-за энтомологического интересу: а почему не должна хавать, имена-то у переменных разные?
Ответить | Правка | Наверх | Cообщить модератору

59. "Доступен язык программирования Lua 5.5"  +5 +/
Сообщение от думаю я (?), 23-Дек-25, 09:22 
Луа должна телепатически догадаться, что мясной мешок опечатался.
Ответить | Правка | Наверх | Cообщить модератору

75. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (75), 23-Дек-25, 11:30 
В нормальных языках принято различать объявление и присваивание.
Ответить | Правка | Наверх | Cообщить модератору

111. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (111), 23-Дек-25, 17:56 
считаю это полным бредом, то есть различение эдакое.
Ответить | Правка | Наверх | Cообщить модератору

77. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Конь (ok), 23-Дек-25, 11:38 
Луя должна выдать ошибку, что нет такой перемноой, вместо этого создается новая переменная, причем глобальная и так можно получить очень неприятные баги
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

109. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (109), 23-Дек-25, 17:35 
Вы не поверите! Lua и это умеет:

Global variables in Lua do not need declarations. Although this is handy for small programs, in larger programs a simple typo can cause bugs that are difficult to find. However, we can change that behavior if we like. Because Lua keeps its global variables in a regular table, we can use metatables to change its behavior when accessing global variables.

https://www.lua.org/pil/14.2.html

Ответить | Правка | Наверх | Cообщить модератору

54. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от pv (?), 23-Дек-25, 09:02 
Для тех кто по клавиатуре не попадает есть lua-strict
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

61. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от Аноним (60), 23-Дек-25, 09:30 
> луа молча хавает это, а ты потом ищешь баги

Шта? Такое обсолютно любой скриптовый язык хавает.

Автозавершением имен надо пользоваться в редакторе. 🤦

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

74. "Доступен язык программирования Lua 5.5"  –3 +/
Сообщение от Аноним (75), 23-Дек-25, 11:29 
>Шта? Такое обсолютно любой скриптовый язык хавает.

Ну так может в топку его, этот абсолютно любой скриптовый язык?
>Автозавершением имен надо пользоваться в редакторе.

Как вы собираетесь пользоваться автозарершением имён в динамически типизированном языке?

Ответить | Правка | Наверх | Cообщить модератору

89. "Доступен язык программирования Lua 5.5"  +3 +/
Сообщение от Аноним (89), 23-Дек-25, 13:37 
> Как вы собираетесь пользоваться автозарершением имён в динамически типизированном языке?

Как обычно. Какая вообще связь между именем переменной и ее текущим типом?

Ответить | Правка | Наверх | Cообщить модератору

102. "Доступен язык программирования Lua 5.5"  –4 +/
Сообщение от Аноним (75), 23-Дек-25, 16:38 
Прямая. Вот есть выражение foo.bar.baz, вы в лучшем случае подсказку только для foo получите.
Ответить | Правка | Наверх | Cообщить модератору

114. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (114), 23-Дек-25, 18:38 
>> Какая вообще связь между именем переменной и ее текущим типом?
> Прямая

Чел, речь в его примере с опечаткой в имени переменной шла именно о ПЕРЕМЕННЫХ, а не о доступе к полям и т.п. вида foo.bar. И автозавершение имен переменных в этом случае вообще никак не зависит от ее текущего типа.

> Вот есть выражение foo.bar.baz, вы в лучшем случае подсказку только для foo получите.

Да что ты говоришь! Эксперт, а ты не в курсе, что в динамически типизированных языках есть динамическая же информация о типах, которую IDE без проблем могут читать (при пошаговом выполнении вообще с этим проблем нет)? Причем это работало еще в 80х годах в IDE для Smalltalk.

Ответить | Правка | Наверх | Cообщить модератору

105. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (-), 23-Дек-25, 17:00 
Я вот всё думаю, и мне лень проверить. А если на _G повесить метатабличку с методом __newindex, который будет кидать ошибку при попытке записи в несуществующую переменную... Это сработает?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

110. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (109), 23-Дек-25, 17:37 
Сработает. В своих проектах я именно так и поступаю.

https://www.lua.org/pil/14.2.html

Ответить | Правка | Наверх | Cообщить модератору

7. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от Аноним (7), 23-Дек-25, 00:38 
>  Указываемые в циклах "for" управляющие переменные теперь доступны только для чтения и не могут быть изменены в теле цикла. Например, переменная i, объявленная в цикле "for i = 1, 5 do", не может быть изменена в теле цикла.

А такое вообще допустимо в минорном релизе? По-моему, сначала надо объявлять deprecated, в следующем мажорном релизе выводить ворнинги, и только в ещё следующем — выпиливать.

Ответить | Правка | Наверх | Cообщить модератору

8. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Кошкажена (?), 23-Дек-25, 00:47 
У них не семвер.
Ответить | Правка | Наверх | Cообщить модератору

9. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (109), 23-Дек-25, 00:49 
В Lua это делается как раз в минорных релизах. Кто часто использует - привыкли. По мне так выпиливать нужно тех, кто меняет значения управляющих переменных цикла в теле цикла вне зависимости от используемого языка.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

15. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 01:19 
Обработку какого-нибудь буфера вполне можно так делать. Возвращаться на отступ с уже измененным состоянием. Одно дело когда человек не знает, что делает, и другое - запрещать тем, кто знает.
Ответить | Правка | Наверх | Cообщить модератору

19. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (109), 23-Дек-25, 01:34 
Речь про то, что такое читать сложно. В коде явно указано перечисление с указанным шагом (по умолчанию: 1) и полагаешься на это. Когда переменная инициируется до цикла - вопросов нет. Я, к примеру, даже не знаю, не "кэшируется" ли та переменная в каком-нибудь внутреннем регистре во время выполнения цикла и куда именно будет добавлена единичка. Так что даже не пытаюсь туда что-нибудь писать.
Ответить | Правка | Наверх | Cообщить модератору

22. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 02:19 
Я не вижу больших проблем использовать полезные свойства for для таких нужд. Большая часть операций с отступом будет в объявлении цикла, что удобно и читаемо. Лучше, чем писать явный вечный цикл и ту же самую логику в нем. Меньше риска что-то потерять по дороге.

Насчет рискованности применения согласен. Есть вариант нарваться на особенности реализации.

Ответить | Правка | Наверх | Cообщить модератору

78. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (75), 23-Дек-25, 11:41 
>полагаешься на это.

Явное лучше неявного. Циклы не нужны, хвостовой рекурсии достаточно.
>Я, к примеру, даже не знаю, не "кэшируется" ли та переменная в каком-нибудь внутреннем регистре во время выполнения цикла и куда именно будет добавлена единичка.

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

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

83. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 13:11 
>Явное лучше неявного
>Циклы не нужны, хвостовой рекурсии достаточно

В реальности рекурсии не нужно никакой нисколько, она разворачивается в циклы.

>на хорошо спроектированном языке

Нет такого ))

Ответить | Правка | Наверх | Cообщить модератору

103. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (75), 23-Дек-25, 16:40 
>В реальности рекурсии не нужно никакой нисколько, она разворачивается в циклы.

Рекурсия очень хорошо подходит для высокоуровневых языков

Ответить | Правка | Наверх | Cообщить модератору

130. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Ононизмус (?), 24-Дек-25, 15:18 
> В коде явно указано перечисление с указанным шагом (по умолчанию: 1) и полагаешься на это

Ты программы сложнее 10 строк писал?? Говоришь как школьник, который неосилил.
Поограммирование - это и есть куча трюков, через которые вместо 10 строк пишут две.
Если изменение итератора позволяет красиво выразить алгоритм, так и нужно делать.

Если у чела IQ хватает только на "прочитать цикл от 1 до 10", то наверное не стоит идти в высокое ИТ - возьмите VBA и клепайте скрипты для Excel.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

10. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Кошкажена (?), 23-Дек-25, 00:50 
> Добавлена возможность явного объявления глобальных переменных в любых блоках кода при помощи ключевого слова "global".

Глобальные переменные по умолчанию - это, конечно, надо исправлять. Вот похоже пытаются.

Ответить | Правка | Наверх | Cообщить модератору

11. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (11), 23-Дек-25, 00:53 
напрасная потеря времени
Ответить | Правка | Наверх | Cообщить модератору

12. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (109), 23-Дек-25, 01:05 
В своем коде я запрещаю чтение или запись в несуществующую глобальную переменную. Позволяет избежать множества скрытых ошибок.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

41. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Антикапиталист (?), 23-Дек-25, 04:06 
Учитывая, что язык для встроенной автоматизации, это не проблема. У меня, например, на lua много скриптов на 5-10 строк не то что с глобальными переменнвми, а вообще с хардкоженными значениями, где вся эта "безопасность" нафиг не нужна. Никакого труда не составит открыть файл в дефолтном виндовом блокноте и быстро переписать, если вдруг надо.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

13. "Доступен язык программирования Lua 5.5"  –2 +/
Сообщение от Аноним (13), 23-Дек-25, 01:08 
Язык дико неудобен, начиная с end вместо фигурных скобок, и заканчивая тотальным отсутствием стандартной библиотеки. Прям вообще отсутствует, напрочь. Даже ключи словаря не достанешь -- иди пиши аналог Object.keys() с нуля. Единственное преимущество луа -- встраиваемость, по сути язык номер один, если нужна легковесная скриптуемость.
Ответить | Правка | Наверх | Cообщить модератору

14. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от Аноним (15), 23-Дек-25, 01:15 
>начиная с end вместо фигурных скобок

Вопрос привычки. С плохим форматированием кода лес из скобок не менее ужасен.

>Даже ключи словаря не достанешь -- иди пиши аналог Object.keys()

Иди про итераторы прочитай. Или ты их не понимаешь, прямо как замыкания в JS? Вот что значит первым языком пихон.

>заканчивая тотальным отсутствием стандартной библиотеки. Прям вообще отсутствует, напрочь

Есть luarocks какие хочешь.

Ответить | Правка | Наверх | Cообщить модератору

17. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от Аноним (13), 23-Дек-25, 01:31 
> С плохим форматированием кода лес из скобок не менее ужасен.

То есть ты признаешь, что хорошо отформатированный код на луа примерно так же ужасен, как и плохо отформатированный код на си-подобном языке?

> Иди про итераторы прочитай

Коллект добавили в стд библиотеку? Чтобы можно было итератор сконвертнуть в массив и делать random access? Или ты не понимаешь, что итераторы применимы далеко не везде?

> Есть luarocks какие хочешь

Какую букву во фразе "_стандартная_ библиотека" ты не понял?

Ответить | Правка | Наверх | Cообщить модератору

23. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (15), 23-Дек-25, 02:37 
>хорошо отформатированный код на луа

Если в луашном стиле написан, отлично смотрится. Если там у тебя колбасы калбеков эмулирующие коколлекты всевозможные, уродливо будет, конечно.

>плохо отформатированный код на си-подобном языке

Отвратительнее, чем луашный. Когда круглые скобки перемешаны с фигурными, это намного хуже. Просто привыкли все.

>итераторы применимы далеко не везде?

В луа они применимы везде )) Квадратно гнездовое мышление воспитанное другими языками придется пересмотреть.

>Какую букву во фразе "_стандартная_ библиотека" ты не понял?

Это ты не понял. Тебе не хватает стандартной библиотеки луашной, варианты какие?

Ответить | Правка | Наверх | Cообщить модератору

28. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (13), 23-Дек-25, 03:21 
> > итераторы применимы далеко не везде?
> В луа они применимы везде ))

Очевидно, что кроме луа ты ничего не знаешь. Напиши мне на итераторах quicksort.

> Квадратно гнездовое мышление воспитанное другими языками придется пересмотреть

В других языках я могу выбирать между итераторами и random access массивами. В расте есть коллект. В яве есть стримы и коллекторы. В яваскрипте есть [...iterator]. Если алгоритм позволяет однонаправленное движение, принимаешь итератор. В луа это все то же можно, но ты делаешь вид, будто любую проблему можно решить только итераторами, просто потому что требуется как-то оправдать тот факт, что луа не дает даже простейший Object.keys().

> Тебе не хватает стандартной библиотеки луашной, варианты какие?

Варианты такие: 1) стандартизировать и добавить норм стд библиотеку прямо в сам язык, 2) скачять мокрую _исечку безсплатно без смс с прикольными функциями для луа, да так, чтобы изучаешь одну библиотеку, а потом у следующего работодателя твои знания не пригождаются, потому что там используют что-то другое вместо "luarocks".

Ответить | Правка | Наверх | Cообщить модератору

45. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (27), 23-Дек-25, 05:20 
Вы самозабвенно несёте чушь.

В Lua осознанно используется «таблица» — гибридная структура данных, сочетающая в себе свойства массивов и хэш–таблиц.

Если там есть keys — это хэш–таблица и quicksort не имеет смысла. Потому что ради производительности сохранение порядка элементов в оных не гарантируется — и это не баг а фича.

А если использовать таблицу как массив, то quicksort уже есть в стандартной библиотеке — table.sort().

Если прям совсем надо, ничего не стоит написать свою реализацию Object.keys на пяток строчек, выплёвывающую результат pairs(), только зачем — в итераторе уже можно делать что–то полезное вместо пережёвывания литералов.

Ответить | Правка | Наверх | Cообщить модератору

53. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от Аноним (13), 23-Дек-25, 08:57 
> Если там есть keys — это хэш–таблица и quicksort не имеет смысла. Потому что ради производительности сохранение порядка элементов в оных не гарантируется — и это не баг а фича.

Что и требовалось доказать: ты действительно ни с чем, кроме луа, не работал, ибо в нормальных языках это именно разработчик решает, в каком порядке хранятся ключи: ordered vs unordered map, ordered vs unordered set. В луа ты выдаешь единственность реализации за фичу, а на самом деле это недостаток. Впрочем, от встраиваемого языка многого не ждешь.

Но ты не понял моего примера. Я утверждаю, что далеко не все алгоритмы способны работать с итератором. Некоторые ТРЕБУЮТ, чтобы на вход подавали random access array, потому что во время своей работы они обращаются к элементам в порядке, отличающемся от примитивного 0, 1, 2.... Один из таких алгоритмов -- quicksort.

А то, что ты не понимаешь, зачем кому-то может понадобиться словарь с отсортированными ключами -- это лишь твоя проблема.

Ответить | Правка | Наверх | Cообщить модератору

58. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от Аноним (27), 23-Дек-25, 09:19 
Если мне понадобится словарь с отсортированными ключами, я просто заведу ещё одну таблицу. И всё.

В этом и есть красота и мощь Lua — возможность делать безгранично многое простыми и минимальными средствами.

То что кто–то покусан в мозг ECMAScript^W «нормальными языками» и не понимает, как это реализовать на Lua — это точно не моя проблема. В конце–концов, просто возьмите duktape или QuickJS, и не делайте голову ни себе, ни людям.

Ответить | Правка | Наверх | Cообщить модератору

67. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (13), 23-Дек-25, 09:43 
> Если мне понадобится словарь с отсортированными ключами, я просто заведу ещё одну таблицу. И всё.

Ага. Причем вторая таблица будет массивом ключей, а не... итератором, про который ты тут всем рассказывал, что он чуть ли не панацея для всех алгоритмов и единственно верный™ интерфейс над всем подряд.

> как это реализовать на Lua — это точно не моя проблема

Вопрос не в том, "как" реализовать. Луа -- тьюринг-полный язык. Очевидно, что на нем можно реализовать все. Контекст дискуссии -- выяснить, является ли итератор "достаточным" для "всего подряд", как ты утверждал. Ответ: нет, не является, и ты узнал об этом 5 минут назад, выяснив для себя, что без random access массива ключей в этом конкретном сценарии никак не обойтись. О сколько новых открытий чудных ты встретишь в... программировании, ибо очевидно, что луа не только твой первый и единственный язык, но и то, что ты в целом в программировании максимум неделю.

Ответить | Правка | Наверх | Cообщить модератору

69. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от Аноним (27), 23-Дек-25, 10:17 
> Контекст дискуссии -- выяснить, является ли итератор "достаточным" для "всего подряд"

Контекст дискуссии — вы несёте какую–то дичь. И вам уже два разных анонима пытаются это объяснить.

Есть ли «random access массивы» в Lua? Да, есть. Ничего не мешает реализовать свой медленный quicksort. Только зачем, если он уже есть штатный?

Для чего вам кровь из носу понадобился Object.keys? Нет ответа. Если нужно из хэш–таблицы получить упорядоченный словарь ключей — берём итератор, проходимся по таблице, складываем результаты в другую таблицу. Это настолько тривиально, что даже странно это разжёвывать.

Что мешает использовать имеющиеся средства языка кроме отстуствия понимания как ими пользоваться?  

Философия Lua — вместо десятков типов данных и миллиона функций со своими особенностями дать пользователю один–единственный, максимально быстрый и гибкий. Если его не хватает — ничего не мешает притащить нативную библиотечку и в ней реализовать что угодно, хоть bigint, хоть упорядоченные наборы, да хоть Гейтса в ступе.

Но штука в том, что штатных, минималистичных средств языка обычно хватает, за что его и ценят. За мастерское отсечение лишнего.

Опять же, не осиливаете — никто не заставляет: чемодан, вокзал, duktape.

Ответить | Правка | Наверх | Cообщить модератору

71. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (13), 23-Дек-25, 10:31 
> Контекст дискуссии — вы несёте какую–то дичь.

Напоминаю бредятину, которую ты запостил ранее: "В луа они [итераторы] применимы везде ))" Такое мог написать человек, который вообще ничего сложнее фор-цикла не писал. ЯП здесь вообще неважен, достаточно того факта, что дохренища алгоритмов и data structures не могут работать вообще, если нет random access arrays. Убежденность в том, что наличия ТОЛЬКО фор по списочным структура достаточно -- это убежденность гуманитария, который не сталкивался с реальными задачами.

> Для чего вам кровь из носу понадобился Object.keys? Нет ответа.

И снова: такой вопрос мог задать человек, который буквально неделю в программировании. Нужна ли такая функция? Да, нужна, и обычный поиск по гитхабу это подсказывает:

- https://github.com/search?q=Object.keys+language%3AJava... -- 4.8 миллиона js-файлов, где используется Object.keys
- https://github.com/search?q=keys+language%3APython&type... -- 13.2 миллиона питон-файлов, где используется keys.

Можешь зайти в любой пример и увидеть, _зачем_ такая функция может понадобиться.

Ответить | Правка | Наверх | Cообщить модератору

72. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от Аноним (27), 23-Дек-25, 11:04 
> Напоминаю бредятину, которую ты запостил ранее
> …ты запостил…

Вы даже не в состоянии двух анонимов различить. Это какой–то позор.

> нет random access arrays

Ещё раз: они есть и ничего не мешает ими пользоваться.

> И снова: такой вопрос мог задать человек

Вопрос был не в том, зачем вообще применяется Object.keys в других языках. Вопрос был: зачем он вам при разработке на Lua? Не надо ссылаться на абстрактный поиск по гитхабу, сошлитесь на ваш конкретный кейс. «Делаю то–то, хочу добиться того–то, не получается — нету Object.keys, плак–плак».

> человек, который вообще ничего сложнее фор-цикла не писал
> убежденность гуманитария
> человек, который буквально неделю в программировании

Лёгкость, с которой вы пускаетесь в подобные предположения о собеседнике лишь наглядно иллюстрирует вашу собственную зрелость, и только.

Вам битый час намекают, что конкретно вы делаете что–то не так, пытаясь переносить на Lua шаблоны мышления, приобретённые при разработке на других языках.

Ответить | Правка | Наверх | Cообщить модератору

79. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (13), 23-Дек-25, 11:49 
> Ещё раз: они есть и ничего не мешает ими пользоваться

Вопрос не в том, есть в луа random access arrays или нет. Ответ прост: они там есть. Вопрос в том, являются ли ложью твои слова о том, что итераторы покрывают 100% случаев всех использований всех списочных структур. Ответ: да, такое мнение является ложью. Например, невозможно написать quicksort, если на руках только итератор: придется этот итератор вначале сконвертнуть в массив. Вывод: твои слова являются либо ложью, либо заблуждением. Я больше склоняюсь ко второму: в твоих словах чувствуется тотальное отсутствие опыта. As a matter of fact, мнение вроде твоего может иметь только тот, кто программирует не больше недели. Уже на вторую неделю изучения программирования человек обычно сталкивается с задачами вроде "проверить, является ли строка анаграммой". Попробуй напиши такое без рандом access структур.

> Вопрос был: зачем он вам при разработке на Lua?

Чтобы получить ключи словаря, до сих пор не понял?

> Вам битый час намекают, что конкретно вы делаете что–то не так, пытаясь переносить на Lua шаблоны мышления, приобретённые при разработке на других языках.

Луа не является концептуально иным языком. Про "шаблоны мышления" я бы больше рассуждал в контексте хаскеля. Вот там действительно надо переосмысливать все. А луа это обычный императивный язычок в ряду с яваскриптом и питоном. То, что ты выдаешь его за некий уникум лишь притворство с целью оправдать тотальное отсутствие стд библиотеки.

Ответить | Правка | Наверх | Cообщить модератору

81. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 12:16 
Заступаю на смену )))  

>Вывод: твои слова являются либо ложью, либо заблуждением

Ты понимаешь, что подгоняешь все под это утверждение?

>Чтобы получить ключи словаря

Словари какие-то. Это в пихоне такое? Ты считаешь, что это некий инвариант в языках программирования? Увы ))))))

Ключи получают не чтобы ключи получить, а чтобы что-то сделать с ними. В жс ключи получают, потому что это способ пройти по их значениям в дальнейшем. В луа (или голанге) ты можешь сразу итерировать.

>мнение вроде твоего может иметь только тот, кто программирует не больше недели

Я программирую 20 лет. Луа был 5 или 6 языком, точно не помню.

>луа это обычный императивный язычок в ряду с яваскриптом и питоном

Язычок у тебя во рту, но у меня есть идеи, где еще он должен находиться.

Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

87. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (87), 23-Дек-25, 13:25 
> Ключи получают не чтобы ключи получить, а чтобы что-то сделать с ними.

Ага. Например сортануть. И как раз в этом месте рушится твоя бредовая идея про то, что "любую проблему можно решить итераторами". Итак, напиши мне функцию, которая принимает итератор значений, и НЕ конвертируя его в массив, проверяет, является ли эта последовательность палиндромой ([4, 8, 15, 8, 4] -- пример палиндромы).

> Я программирую 20 лет. Луа был 5 или 6 языком, точно не помню.

Целых 20 лет обходишься только фор-лупом, да так, что это исключительно for (i = 0, i < l, i++)? Ага, конечно.

Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

94. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 15:03 
>принимает итератор значений

Ты не понимаешь, что такое итераторы в луа и как их используют.
Если тебе нужно итерировать, ты делаешь итератор. Не нужно - не делаешь, работаешь с таблицей как тебе нужно.

Для сортировки ты вызываешь table.sort, как тебе уже человек выше написал. При чем тут вообще итераторы?

Понимаешь, ты изначально заикнулся про Object.keys. Я подумал, что ты нормальный в целом человек и у тебя там какой-то объект, ассоциативный массив. А у тебя индексированный и ты сразу можешь с ним работать. В чем вообще твоя проблема, кроме того, что ты любишь из себя строить самого умного в интернетах?

Луа, к слову, требует мозгов, чтобы эффективно программировать и не залезать в идиотские проблемы, вроде твоих. Это тебе не пихон, не плюсы, даже не хаскелл (на котором ты все равно никогда ничего серьезного писать не будешь).

>Целых 20 лет обходишься только фор-лупом,

Ага. Еще иногда while ))

Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

98. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (13), 23-Дек-25, 15:17 
> Ты не понимаешь, что такое итераторы в луа и как их используют.

Никто не понимает. Кроме тебя. Хорошо, что есть ты. Знающий, что такое итераторы. Рискну заявить, что даже создатели луа их не понимают. Вот такой вот ты уникум.

> [рандомная простыня текста]

Не увидел здесь ответа на поставленную задачу: "напиши мне функцию, которая принимает итератор значений, и НЕ конвертируя его в массив, проверяет, является ли эта последовательность палиндромой".

Почему именно итераторами? Потому что выше ты заявлял, что _только_ итераторов хватит всем и на все случаи жизни. Prove it.

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

90. "Доступен язык программирования Lua 5.5"  –1 +/
Сообщение от Аноним (27), 23-Дек-25, 13:39 
Ну, то есть конкретики не будет, будет выдёргивание из контекста и приписывание оппоненту того, чего он не говорил.

>  твои слова

Это не мои слова, это слова вашего предыдущего собеседника, не позорьтесь.

> итераторы покрывают 100% случаев всех использований всех списочных структур

Ваш предыдущий собеседник этого не говорил. Он сказал, цитирую:

>> Иди про итераторы прочитай. Или ты их не понимаешь, прямо как замыкания в JS? Вот что значит первым языком пихон.
>> …
>> В луа они применимы везде )) Квадратно гнездовое мышление воспитанное другими языками придется пересмотреть.

Если у вас туго с интерпретацией, разжую: вам указали на нелепость ваших претензий, необходимость прочитать документацию к языку, на котором пытаетесь программировать и широкую универсальность итераторов в Lua.

Вам также указывают на то, что ваше поведение и высказываемые претензии говорят о механической попытке перенесения шаблонных конструкций одного языка на другой, что контрпродуктивно, и, в свою очередь, говорит о недостаточном владении как выбранными языками, так и практикой программирования в целом.

Про «100% случаев всех использований всех списочных структур» вы придумали себе сами, и теперь спорите с собственноручно набитым чучелом, а не с реальными собеседниками.

> Чтобы получить ключи словаря

Вы прицепились к несущественной мелочи. Большинство тех, кому действительно выпадет на практике эта задача просто молча применят стандартные конструкции языка, получат результат и пойдут дальше. Возможно, даже не оформляя этот кусок кода в отдельную функцию, настолько он тривиален.

> Луа не является концептуально иным языком.

Здесь речь не о том, что Lua является или не является «концептуально иным». Подразумевалось, у Lua, тем не менее, есть своя концепция. Можно её принять, можно её отвергнуть и взять более подходящий инструмент. Но глупо обвинять язык в том, что он именно такой, каким его задумали и последовательно воплотили его создатели.


Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

91. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (13), 23-Дек-25, 13:53 
> у Lua, тем не менее, есть своя концепция

И что же это за концепция? Такая, чтобы она была не совместима с "шаблонами мышления" [sic!]. Такая, чтобы разработчики, не знающие луа, сказали бы: "Нихрена себе! Вот это реально новая концепция, ломающая мои шаблоны мышления! Я по сути и программировать-то не умею в этой новой концепции!"

И нет, "отсутствие вменяемой стд библиотеки" -- это не "концепция, ломающая шаблоны мышления".

И нет, "итераторы" -- это не "принципиально новая концепция". Итераторы есть везде.

Итак, что это за концепция, "ломающая шаблоны"? Удиви меня.

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

95. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 15:12 
> "Нихрена себе! Вот это реально новая концепция, ломающая мои шаблоны мышления! Я по сути и программировать-то не умею в этой новой концепции!"

Я после жс и перла думал буквально это. Все мое программирование до луа было в какой-то степени использованием детских колес у велосипедов. Понимание концепций программирования не было полным и разносторонним. Луа меня определенно обогатил.

>Итераторы есть везде

Лол )) Прекращай, я могу погибнуть от смеха )

Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

99. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (13), 23-Дек-25, 15:18 
> [рандомная простыня текста]

Не увидел здесь ответа на вопрос: какая такая в луа есть концепция, "ломающая шаблоны мышления"?

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

116. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (116), 23-Дек-25, 19:27 
> Один из таких алгоритмов -- quicksort.

Зачем тебе нужно писать quicksort на скриптовом языке? Да еще и при существующем table.sort()?

> А то, что ты не понимаешь, зачем кому-то может понадобиться словарь с отсортированными ключами -- это лишь твоя проблема.

Раз ты понимаешь, так объясни внятно, зачем тебе В LUA словарь с отсортированными ключами? И почему для этого случае нельзя обойтись таблицой.

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

107. "Доступен язык программирования Lua 5.5"  –2 +/
Сообщение от Аноним (107), 23-Дек-25, 17:14 
> Если прям совсем надо, ничего не стоит написать свою реализацию

Ну да, именно этим язык от поделки и отличается. На языке просто берёшь и решаешь задачу, а на поделке сначала надо "своих реализаций" базовых вещей понаписать.

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

112. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от совсем другой Аноним (?), 23-Дек-25, 18:11 
Если сначала тебе нужно кучу своих реализаций понаписать, то это значит, что ты не так или не для того используешь язык.

Анекдот в подарок:

— Алло, дорогая, только что по радио передали, что один псих едет по встречке. Будь осторожнее!
— Один? Да их тут тысячи!

Ответить | Правка | Наверх | Cообщить модератору

115. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (114), 23-Дек-25, 18:44 
> Ну да, именно этим язык от поделки и отличается. На языке просто берёшь и решаешь задачу

Мдэ. Бедняга не в курсе, что разные языки создавались для разных задач. 🤦

Ответить | Правка | К родителю #107 | Наверх | Cообщить модератору

119. "Доступен язык программирования Lua 5.5"  +/
Сообщение от winorun (?), 23-Дек-25, 20:33 
Зачем тебе нужна быстрая сортировка в lua?
Зачем тебе стандартная библиотека если зачастую что ты делаешь на lua это запрет запуска сторонних библиотек?
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

133. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (-), 24-Дек-25, 16:30 
> Очевидно, что кроме луа ты ничего не знаешь. Напиши мне на итераторах quicksort.

Зачем писать quicksort на lua? Если тебе недостаточно встроенного sort, то тебе видимо нужно что-то очень специфичное и лучше бы это выпилить на C.

> В других языках я могу выбирать между итераторами и random access массивами. В расте есть коллект. В яве есть стримы и коллекторы. В яваскрипте есть [...iterator].

Все языки из твоего списка -- жертвы блоата. Они раздуты до невероятности под любой случай жизни. Раст вон сокрушается, что евойная std бесполезна для async программ, и под них надо писать другую реализацию с немного другими декларациями.

lua минималистичный язык. Твой Object.keys пишется на lua в две строчки, и нужен он один раз на 100 тысяч строк кода. Зачем захламлять им стандартную библиотеку?

> 1) стандартизировать и добавить норм стд библиотеку прямо в сам язык,

Тогда это будет не lua. Если ты пытаешься использовать lua не по назначению, то не надо плакаться, что она не подходит. Когда ты микроскопом забиваешь гвозди или топором пытаешься вырубать процессоры из кристалла кремния, у тебя естественно ничего не получается, и тебя это не удивляет. Но когда ты берёшь и язык используешь не по назначению, то виноват язык, так?

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

16. "Доступен язык программирования Lua 5.5"  +2 +/
Сообщение от Аноним (109), 23-Дек-25, 01:23 
Именно оттого, что он встроенный, стандартной библиотеки нет - на всех не угодишь, да и не нужно. Все что требуется, можно дополнительно реализовать в lua коде или в вызывающем коде. Я к примеру, уже и не упомню, когда мне последний раз требовалось перечислять ключи, хотя Lua использую часто.

Что касается синтаксиса - дело привычки.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

40. "Доступен язык программирования Lua 5.5"  +4 +/
Сообщение от Антикапиталист (?), 23-Дек-25, 04:00 
> end вместо фигурных скобок

И это прекрасно. Человекочитаемое слово вместо закорючек.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

56. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (56), 23-Дек-25, 09:12 
1С одобряет этот комментарий
Ответить | Правка | Наверх | Cообщить модератору

108. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (107), 23-Дек-25, 17:18 
Математикам ещё скажи что им нужно "для любого" "существует" словами писать, а заодно "сложить" и "умножить".
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

126. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (75), 24-Дек-25, 14:51 
Вот лично мне математические выражения записанные в виде кода как-то понятнее, чем математическими иероглифами.
Ответить | Правка | Наверх | Cообщить модератору

86. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (86), 23-Дек-25, 13:23 
А, да? Не знал, спасибо за информацию.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

24. Скрыто модератором  –6 +/
Сообщение от Аноним (24), 23-Дек-25, 02:43 
Ответить | Правка | Наверх | Cообщить модератору

26. Скрыто модератором  +/
Сообщение от Аноним (15), 23-Дек-25, 03:01 
Ответить | Правка | Наверх | Cообщить модератору

31. Скрыто модератором  –1 +/
Сообщение от Аноним (13), 23-Дек-25, 03:26 
Ответить | Правка | Наверх | Cообщить модератору

32. Скрыто модератором  +1 +/
Сообщение от Аноним (27), 23-Дек-25, 03:34 
Ответить | Правка | Наверх | Cообщить модератору

55. Скрыто модератором  +/
Сообщение от Аноним (13), 23-Дек-25, 09:07 
Ответить | Правка | Наверх | Cообщить модератору

29. Скрыто модератором  +/
Сообщение от Аноним (29), 23-Дек-25, 03:21 
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

33. Скрыто модератором  +1 +/
Сообщение от Аноним83 (?), 23-Дек-25, 03:35 
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

38. Скрыто модератором  +1 +/
Сообщение от Антикапиталист (?), 23-Дек-25, 03:53 
Ответить | Правка | Наверх | Cообщить модератору

39. Скрыто модератором  +2 +/
Сообщение от Аноним83 (?), 23-Дек-25, 03:57 
Ответить | Правка | Наверх | Cообщить модератору

43. Скрыто модератором  +/
Сообщение от Антикапиталист (?), 23-Дек-25, 04:19 
Ответить | Правка | Наверх | Cообщить модератору

37. Скрыто модератором  +1 +/
Сообщение от Антикапиталист (?), 23-Дек-25, 03:51 
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

36. "Доступен язык программирования Lua 5.5"  +6 +/
Сообщение от Антикапиталист (?), 23-Дек-25, 03:49 
Это мой любимый синтаксис всех времён и народов. После C/C++/Rust это отдых для души. И я абсолютно серьёзно.
Ответить | Правка | Наверх | Cообщить модератору

47. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (47), 23-Дек-25, 06:17 
После JS. С этими тремя всё-таки не сравнить, они в другой упряжке. А так-то луна - это js done right.
Ответить | Правка | Наверх | Cообщить модератору

48. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (-), 23-Дек-25, 07:28 
-- Ok

Это тег комментарий на языке Луа?

Ответить | Правка | Наверх | Cообщить модератору

49. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (49), 23-Дек-25, 07:36 
> Для большей части операций сборки мусора задействован инкрементальный режим,...

Ошибка в новости. В оригинале: major garbage collections done incrementally

В Lua есть 2 режима сборки мусора: incremental (включён по умолчанию) и generational. В режиме generational циклы делятся на major (длинные, редкие и собирающие мусор всех поколений) и minor (частые, короткие и собирающие только новый мусор). Раньше эти режимы были несовместимы: при включении режима generational инкрементальность терялась. Теперь для мажорных циклов в этом режиме была реализована инкрементальность, а минорные и так короткие и в ней не нуждаются.

Ответить | Правка | Наверх | Cообщить модератору

57. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (56), 23-Дек-25, 09:14 
а можно список ЯП с некопилефтной лицензией, который можно встроить в свой продукт для скриптинга? Lua номер в списке, это понятно
Ответить | Правка | Наверх | Cообщить модератору

124. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Смузихлеб забывший пароль (?), 24-Дек-25, 12:55 
там, вероятно, не сами ЯП, а реализации двигла
Тот же яблочный и опенсорсный жсКор допускает интеграцию в любые продукты но при условии, насколько помню, открытости кода продукта( какого конкретно неясно. Эту штуку тянет для себя тот же реакт-натив, он действительно опенсорсный, но не помню ни одного разбирательства, чтобы от владельцев приложений, сделанных на нём, требовали открыть исходники конечного продукта, т.е готового приложения )
Ответить | Правка | Наверх | Cообщить модератору

66. "Доступен язык программирования Lua 5.5"  +/
Сообщение от mos87 (ok), 23-Дек-25, 09:42 
Знаком с ним в основном по Neovim (mpv, и т.д.) - по ощущениям весьма специфический синтаксис. И на вид код жутко лапшеобразный, с печальной кучей вот ентого ({}).
И эти люди запрещают Perl в носу ковыряцца..
Ответить | Правка | Наверх | Cообщить модератору

70. "Доступен язык программирования Lua 5.5"  +/
Сообщение от kravich (ok), 23-Дек-25, 10:24 
>В режиме "generational" полный цикл сборки мусора (major collection), перебирающий все объекты, переведён на использование инкрементальной обработки, при которой сборка мусора разбивается на отдельные шаги, чередующиеся с выполнением программы, что позволяет избавиться от длительных приостановок выполнения приложений с большим числом объектов в памяти.

Squirrel-окапец?

Ответить | Правка | Наверх | Cообщить модератору

73. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (75), 23-Дек-25, 11:22 
>При указании в блоке кода выражений с ключевым словом "global", все переменные обязательно должны объявляется явно.
>Указываемые в циклах "for" управляющие переменные теперь доступны только для чтения и не могут быть изменены в теле цикла.

Идеальные изменения для языка с неявным определением переменных без фазы компиляции. Чем позже всплывёт баг, тем лучше, в идеале всплыть прямо на релизе.

Ответить | Правка | Наверх | Cообщить модератору

84. "Доступен язык программирования Lua 5.5"  +/
Сообщение от anon57email (?), 23-Дек-25, 13:12 
QuickJS слегка медленнее, но писать скрипты на JS куда веселее. Тем более миллион и еще тележка библиотек есть. Есть где разгуляться. Большие кодовые базы на Lua тяжело поддерживать. Lua более утилитарный язык, для конфигов например. Это конечно лично мое мнение.
Ответить | Правка | Наверх | Cообщить модератору

113. "Доступен язык программирования Lua 5.5"  +/
Сообщение от совсем другой Аноним (?), 23-Дек-25, 18:23 
> Lua более утилитарный язык, для конфигов например. Это конечно лично мое мнение.

Это ваше личное мнение описано в первом параграфе новости.

Ответить | Правка | Наверх | Cообщить модератору

88. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от anon57email (?), 23-Дек-25, 13:34 
Как вариант, есть транслятор из TypeScript в Lua: https://github.com/TypeScriptToLua/TypeScriptToLua
Ответить | Правка | Наверх | Cообщить модератору

92. "Доступен язык программирования Lua 5.5"  +/
Сообщение от myster (ok), 23-Дек-25, 14:45 
> После пяти лет разработки доступен релиз Lua 5.5

Реальная причина выкатки версии - недавний сбой в Cloudflare из-за Lua бага

Ответить | Правка | Наверх | Cообщить модератору

96. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (15), 23-Дек-25, 15:14 
Надо было в день сбоя выкатывать.
Ответить | Правка | Наверх | Cообщить модератору

97. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (97), 23-Дек-25, 15:15 
Чем просто Луа отличается от Луажида?
Ответить | Правка | Наверх | Cообщить модератору

100. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (100), 23-Дек-25, 16:04 
Луа интерпретирует, а Луажид компилирует в байткод?
Ответить | Правка | Наверх | Cообщить модератору

101. "Доступен язык программирования Lua 5.5"  +1 +/
Сообщение от Аноним (101), 23-Дек-25, 16:29 
Вот хороший язык, никто его не пропихивет, не навязывает, он просто органично занял свою нишу.
Ответить | Правка | Наверх | Cообщить модератору

117. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (29), 23-Дек-25, 19:41 
Ещё из той же ниши был (есть) TCL, когда-то широко используемый. Так что, видимо, какая-то борьба всё-таки была. Но, судя по всему, ещё во времена до интернетов.
Ответить | Правка | Наверх | Cообщить модератору

118. "Доступен язык программирования Lua 5.5"  +/
Сообщение от _kp (ok), 23-Дек-25, 20:08 
Не, Lua это другое. Его встроить можно легко и нересурсоемко, даже в мелкие контроллеры, когда нужна и часть ПО на скриптах. И когда jit не нужен, и скрипты  чисто для  внутреннего пользования, там даже пофиг какая версия Lua.
Сам я хоть и недолюбливаю Lua, именно как язык, но использую, если не мудрить, то работает очень предсказуемо, и много ресурсов не просит.
Ответить | Правка | Наверх | Cообщить модератору

106. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (106), 23-Дек-25, 17:12 
Они слишком увлечены динамизмом, на мой взгляд. Надо на этапе парсинга/компиляции проверять существование глобальных переменных. Это, конечно, ограничивает способы расположения кода, заставляет грузить код в определённом порядке, но для lua это не есть что-то новое, он уже на этапе компиляции ведь решает, считать ли переменную за глобальную или за локальную, и если, скажем, вызываешь локальную функцию, которая объявлена позже, то это не работает:

> do
>> local function foo() return bar(); end;
>> local function bar() return 42; end;
>> print(foo());
>> end

stdin:2: attempt to call a nil value (global 'bar')
stack traceback:
    stdin:2: in local 'foo'
    stdin:4: in main chunk
    [C]: in ?

Так вот на мой взгляд, надо было гораздо более ломающее изменение внести, и на этапе разбора кода, тогда когда принимается решение о том, что bar надо искать в _G, выкидывать ошибку о том, что никакого bar'а там нет. Можно как-нибудь это сделать опциональным, но обязательно с возможностью врубить глобально этот режим для всего кода.

Ответить | Правка | Наверх | Cообщить модератору

120. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Tester (??), 24-Дек-25, 09:57 
Помню netbsd пытался его (lua) встроить в ядро, и как там все получилось? пора драйвера на lua писать?
Ответить | Правка | Наверх | Cообщить модератору

122. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (122), 24-Дек-25, 10:47 
Встроили и работает уже много лет.
Ответить | Правка | Наверх | Cообщить модератору

125. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (125), 24-Дек-25, 14:21 
Это мастхев
Ответить | Правка | Наверх | Cообщить модератору

127. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (127), 24-Дек-25, 14:54 
luajit прекрасен
Ответить | Правка | Наверх | Cообщить модератору

128. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Ононизмус (?), 24-Дек-25, 15:11 
Почему какой-то dе6ил думает, что для "плагинов" нужны скрипты!??!
Для плагинов нужна вещь, изобретённая 50 лет назад - динамически загружаемые библиотеки. Ни бог весть какая сложность!
Скрипты придумали погромизды с БЕЙСИКом головного мозга.
Ответить | Правка | Наверх | Cообщить модератору

131. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Bottle (?), 24-Дек-25, 16:15 
Мой дорогой товарищ, далеко не все люди являются программистами, а, тем более, хорошими программистами.
Скриптинг предназначен для них.
Ответить | Правка | Наверх | Cообщить модератору

132. "Доступен язык программирования Lua 5.5"  +/
Сообщение от Аноним (-), 24-Дек-25, 16:24 
> Для плагинов нужна вещь, изобретённая 50 лет назад - динамически загружаемые библиотеки. Ни бог весть какая сложность!

Возможности динамической загрузки недостаточно. Надо ещё уметь динамически выгрузить, почистив все ресурсы, а это значит, что надо у плагина отнять возможность менеджить ресурсы, и следить за ними самостоятельно, а это значит сборка мусора, и запрет динамической библиотеке работать с любыми API кроме предоставленных. А это значит сандбокс, а сандбокс, значит виртуальная машина или что-то типа. Может быть интерпретатор языка, может быть интерпретатор байткода. Можно байткод и jit'ом компилировать, но суть в том, что вот мы пришли к "скриптам". Точнее к языкам, которые со сборкой мусора и если и компилируются, то не в нативкод.

Ответить | Правка | К родителю #128 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру