The OpenNET Project / Index page

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



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

"Релиз языка программирования Lua 5.4"  +/
Сообщение от opennews (??), 30-Июн-20, 11:53 
После пяти лет разработки доступен релиз Lua 5.4, быстрого и компактного скриптового языка программирования, получившего большое распространение в качестве встраиваемого (например, для определения конфигурации или для написания расширений). Код интерпретатора Lua написан на языке Си и распространяется под лицензией MIT...

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

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

Оглавление

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


1. "Релиз языка программирования Lua 5.4"  –4 +/
Сообщение от Аноним (1), 30-Июн-20, 11:53 
> Тип "userdata", предоставляющий возможность хранения в Lua-переменных любых Си-данных

Что это значит? Как работает?

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

4. "Релиз языка программирования Lua 5.4"  +8 +/
Сообщение от barmaglot (??), 30-Июн-20, 12:06 
Полезная штука https://www.lua.org/pil/28.1.html
На самом деле в userdata удобно хранить указатели на класс, и для lua прописывать метаданные/методы, так чтобы работать с подобными С++ классами как с нейтив типами в lua.
Ответить | Правка | Наверх | Cообщить модератору

2. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от pin (??), 30-Июн-20, 11:56 
> Подобные переменные могут быть назначены только один раз и после инициализации уже не могут быть изменены.

Для чего это на практике?

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

3. "Релиз языка программирования Lua 5.4"  –3 +/
Сообщение от Аноним (3), 30-Июн-20, 12:00 
Для встраиваемых решений (на всяких мелкоконтроллерах, где flash )
Ответить | Правка | Наверх | Cообщить модератору

34. "Релиз языка программирования Lua 5.4"  +2 +/
Сообщение от ann (??), 30-Июн-20, 16:17 
Да, скриптовой язык, сборка мусора, на мелкоконтроллерах.

Давай тебе такую трансмиссию поставим?

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

47. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от Аноним (47), 30-Июн-20, 18:51 
Мелкоконтроллеры давно уже не такие мелкие. Про NodeMCU не слышал?
Ответить | Правка | Наверх | Cообщить модератору

55. "Релиз языка программирования Lua 5.4"  +/
Сообщение от ann (??), 30-Июн-20, 22:34 
Про эту не слышал. Про то что есть и мелкие которые не мелкие знаю. Но в нормальных (которые отвечают за что-то серьёзное и критичное) как небыло сборщиков мусора, да и вообще работы с динамической памятью, так и нету.
Ответить | Правка | Наверх | Cообщить модератору

68. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 01-Июл-20, 00:03 
Со "скриптами внутри" его (сборщика мусора) тоже не появится. Он же будет только внутри виртуальной машины, а весь окружающий нативный код как был статическим, так и останется (а именно он в нормальных системах делает всё критичное). Более того, ресурсы для виртуальной машины тоже делают статическими (с точки зрения вызывающего нативного кода). И если есть часть ресурсов под виртуалку заведомо read-only, то это ещё и ресурсов для нативного кода сэкономит (и уж точно это будет чистая статика).

В общем, если знать меру и внимательно "следить за руками" (а во встраиваемых системах без этого никак невозможно), то вполне себе применяют и в серьёзных и условно*** критичных системах.

*** Там больше сложности не в применении скриптования как такового, и тем более не в сборщике мусора внутри виртуалки (при правильной архитектуре вообще довольно пофиг что там внутри) и т. п. Там больше в доказательстве отсутствия влияния всего что связано со скриптами (в основном с самой реализацией и работой виртуальной машины) на тот нативный код, который делает "всю важную работу". Это непросто, поэтому для сильно-сильно критичных штук реально дешевле не использовать совсем. Дешевле в плане всяких сертификаций - не использовать скрипты, дешевле (в некоторых случаях) в плане разработки и всего остального жизненного цикла - использовать скрипты. На сильно критичных штуках удорожание сертификационных моментов запросто может сильно перевесить все "плюшки" от скриптов, поэтому идею скриптования хоронят часто сразу, прямо на уровне идеи.

В общем и целом (в среднем по больнице) вы правы, но дело не в сборке мусора внутри виртуалки...

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

56. "Релиз языка программирования Lua 5.4"  +/
Сообщение от ann (??), 30-Июн-20, 22:37 
Почитал что за оно. Для другой ниши. В ту же трансмиссию её не засунут. или какой VCU
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

99. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (47), 01-Июл-20, 19:32 
Ну да, не для трансмиссии (хотя боюсь гадать, что там будет через десяток лет). Но мелкоконтроллеры ведь не только в трансмиссии, да?
Ответить | Правка | Наверх | Cообщить модератору

58. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Lua Rocks (?), 30-Июн-20, 23:06 
Не для этого встраивания. Для встраивания в программы в качестве скриптового языка для конфигов или "бизнес-логики".
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

62. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 30-Июн-20, 23:35 
И для такого встраивания тоже! Причем, примерно для таких же целей! Само собой, в микроконтроллеры, которые не такие уж "микро", но ресурсов всё равно слишком много там обычно не бывает.

Если весь realtime и всё критичное делать нативно, а именно всякую конфигурацию, сервисные функции и прочее второстепенное (НЕ mission-critical) выносить в скрипты (разумеется, с соблюдением правила, что даже полный отказ всего скриптового не приводит к отказу основных функций системы), то вполне себе делают.

Удобно тем, что писать скрипты в этом случае могут совсем другие люди, с другой квалификацией (ведь нет риска что-то важное сломать), тестировать всё это проще (и существенно дешевле), ну и обновлять скрипты, не трогая основную программу - это приятно. Например, исправляются 100500 мелких придирок по сервисному веб-интерфейсу, бесконечная череда совещаний и обсуждений по поводу цветов, шрифтов и расположения меню, ...а основная программа не меняется - дешево, просто, без участия квалифицированных кадров, не надо каждый раз заново проводить полный цикл испытаний...

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

64. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 30-Июн-20, 23:50 
нет, имется в виду для встраивания в программы на с/c++
а вот про это все верно "Удобно тем, что писать скрипты в этом случае могут совсем другие люди, с другой квалификацией"
При создании QML использовалась встраиваемая js машина. По поводу JSengines, то их много реализаций, весьма шустрые как пример:
http://chaiscript.com/
http://falconpl.org/
https://github.com/cesanta/v7
Ответить | Правка | Наверх | Cообщить модератору

69. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 01-Июл-20, 00:08 
> нет, имется в виду для встраивания в программы на с/c++

Так нативный код для встраиваемых систем чаще всего и пишут на c/c++. Туда и встраивают виртуалки (js, lua, squirrel,...). В чем противоречие-то? Про прям аппаратное встраивание lua вроде никто здесь речи и не заводил...

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

71. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от draw1 (?), 01-Июл-20, 00:28 
И в "железках" тоже бывают конфиги разной степени "умности", "бизнес-логика" и много чего ещё, для чего технически удобно можно было бы использовать скрипты.

Встраиваемое в эти железки ПО пишут на с/с++. При наличии достаточных аппаратных ресурсов (память, производительность,...) нет больших проблем встроить во встраиваемое ПО (то, которое на с/с++) движок js/lua/..., создать и запустить виртуалку, закачать в неё байт-код (можно через компиляцию "на месте", можно скомпилированный заранее) и поехали...

Чё-то не понимаю я этих комментариев вида "нет, не для такого встраивания". В чем разница-то?

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

77. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 01-Июл-20, 01:16 
> Чё-то не понимаю я этих комментариев вида "нет, не для такого встраивания".
> В чем разница-то?

ну смотри
из вики
Встра́иваемая систе́ма (встро́енная систе́ма, англ. embedded system) — специализированная микропроцессорная система управления, контроля и мониторинга, концепция разработки которой заключается в том, что такая система будет работать, будучи встроенной непосредственно в устройство, которым она управляет.

есть - РАЗРАБОТКА ПО ДЛЯ ВСТРАИВАЕМЫХ СИСТЕМ, т.е пишем прогу, это как правило на c/C++ потому что..
а пишем почему? потому что в железке мы всю логику распаять не можем, все варианты поведения не предвидем, поэтому пишем прогу, которая управляет поведением железки.

есть так называемые embedded scripting language
на примере http://chaiscript.com/ там есть такая строчка - exposing a function to ChaiScript, calling it with a parameter and returning a value
т.е. мы втраиваем скриптовую машину в программу (как правило написанную на c/c++, о других вариантах я не слышал) и эта скриптовая машина по отношению к исполняемомой программе, является тем же что и микропроцессор встраиваемой системы по отношению к устройству которым эта втраиваемая система управляет.
Другими словами мы не можем описать в ПО все возможные хотелки заказчика, для этого дается возможность пользователю управлять внутреними ресурсами исполняемой программы на таких простых языках как lua или js. Т.е. заказчику не нужен спец на с++ который как тут любят говорить может выстрелить себе в ногу :) подойдет обычный рядовой контенщик понимающий бизнес-процесс и ознакомленный с API данной програмы.

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

78. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 01-Июл-20, 01:23 
> подойдет обычный рядовой контенщик понимающий бизнес-процесс
> и ознакомленный с API данной програмы.

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


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

80. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 01-Июл-20, 01:57 
Я прекрасно понимаю в чем разница между встраиваемым ПО (ПО для встраиваемых систем) и встраиваемым скриптовым движком! Я говорю о встраивании второго в первое!

То есть мы пишем встраиваемое ПО (для встраиваемых систем), а в него встраиваем ещё и скриптовый движок для некритичного функционала.

С точки зрения движка lua/js/... ему пофиг куда он встраивается - нет разницы "обычная" это программа или embedded. Его работа от этого не меняется.

А уж что конкретно мы перевалим на скрипты и с чем снаружи позволим им взаимодействовать, целиком зависит от задачи, а не от типа ПО, в которое мы встроили движок.

И цель встраивания движка внутрь встроенного ПО может быть иногда вполне такой же как и при встраивании в обычную программу.

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

87. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 01-Июл-20, 09:07 
можно да, по сути запилил API для квадракоптера, и уже на луа или жс описать как он дожен именно летать и как реагировать на ситуации, да можно. просто нужно понимать что все критичное лучше на плсах а так скажем абстрактную логику преоставить заказчику на скриптах
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 01-Июл-20, 00:57 
для всяких IoT да, на с/c++, но все же добавлять в интернет вещь встраиваемую скриптовую машину не совсем гуд. Лучше будет если часть логики будет переписана на с/c++, т.к. поведение интернет вещи (ну или там микрокомпьютера) все таки ограничено конкретными задачами и реакциями на них. А вот на против десктоп, там функционал может меняться в зависимости от предпочтений пользователя. или вот например нодаjs, это ведь встроенный webserver + встроенный движок js. Т.е вы можете один раз создать реализацию простых операций, сделать видимыми функции, классы для встраиваемого движка и вуаля, вот вам нода js или любая другая модная штука ) пользователи пишут на js логику используя функционал написанный на c/c++.
В нашем случае используют lua для расширения пользовательского функционала по обработки чего либо. ну вот например мы же не знаем за ранее как пожелает обработать заказчик ту или иную ситуацию. Мы предоставляем некий API, а клиент уже сам на lua описывает поведение системы при поступлении той или иной информации.
Это очень удобно уверяю Вас. И это действительно очень мощная штука.
Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

79. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 01-Июл-20, 01:46 
Ну если трактовать термин IoT максимально широко... Есть низкоуровневая логика реакции на какие-то сигналы,  автоматическое регулирование чего-нибудь, части функционала, которые требуют какого-либо real-time - в эти области я и не думал предлагать никаких скриптов. А во всякой медленной, высокоуровневой, периодической фигне, диагностике, сервисных функциях, настройке, да в том же чтении всяких "хитрых" конфигов и т. п. - вполне себе гуд если ресурсы и "не технические" ограничения позволяют!

Ну как простой пример - домашний роутер (на самом деле подойдёт почти любая железка, имеющая веб-интерфейс для настройки/диагностики/отладки, но не использующий его для основного функционала). Для реализации веб-интерфейса почему бы и не использовать скриптовый движок. Удобно писать (по сравнению с С), просто встраивать, удобно кастомизировать, наращивать и т. п. Даже если всё это глючное, тормозное и дырявое - на основной функционал не повлияет и никак его не сломает (ну если грамотно всё реализовать, естественно).

Да те же самые хитровыделанные конфиги, когда надо одну и ту же железку [пере]настраивать по-разному в зависимости от множества всяких условий (места установки, каких-нибудь статических сигналов, команд управления - там фантазии заказчиков могут быть самыми извращенными - не проводить же ручную настройку каждый раз при подключении на новое место, например). Конфиг вполне может быть lua-скриптом, который отработал при включении с логикой почти любой вычурности, всё настроил как надо и остановился (ну или продолжил чего-нибудь вяло мониторить - зависит от...). Всяко удобней чем извращённую логику тащить в С++ (да ещё и тестировать её потом в составе железа во всех возможных комбинациях...). Вплоть до того, что иногда можно позволить самому заказчику играться с этими конфигами, всякие заказчики бывают ))

В общем, я к тому, что та мощь, которую вы описываете, хотя и с определенными ограничениями, вполне применима и во встраиваемом ПО и иногда это вполне неплохое решение. Главное не применять бездумно для всего подряд (помнить, что "когда в руках молоток, любая проблема кажется гвоздём, но это только кажется").

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

88. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 01-Июл-20, 10:17 
Все верно говоришь.
На самом деле, это очень круто когда реаизация низкоуровневого функцианала реализована на плюсах, и ты контролируешь памть и все у тебя оптимизироано, и далее ты просто вызываешь функцию из скрипта по событию, и оно работает, а причем сами события твой скрипт получает от того же бэка сишного,  ну это вообще сказка ). Но ты контролируешь что под капотом, ты там царь и бог ) и в этом сила скриптов только в связке с механикой )
Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 30-Июн-20, 23:38 
нет, не для этого. Этот язык в том плане встраиваемый, что встраивается в код с/c++ и може предоставлять в выполняемый скрипт доступ к переменным, функциям, объектам, классам (т.е. динамически создавать объекты на базе классов).
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

5. "Релиз языка программирования Lua 5.4"  –3 +/
Сообщение от Аноним (5), 30-Июн-20, 12:06 
Если это как в си, то это сахарок для просьбы по возможности не изменять автоматически. Для удобства кодера, не более.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

65. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 30-Июн-20, 23:51 
это технология позволяющая решать целый класс задачь
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз языка программирования Lua 5.4"  +3 +/
Сообщение от vad (??), 30-Июн-20, 13:47 
Для JIT'a: Constant-folding. Ещё один побочный эффект: упрощение работы GC. Уменьшение криворукости (попробывал Lua Demo 5.4, присвоение к константе выдает ошибку уже при компиляции, а не в рантайме)

IPONWEB вообще себе кастомную VM сделали пару лет назад и для них константные таблицы, которые не обходятся GC, увеличение скорости раза 2+ давали. Но константы+таблицы не относятся к ванильному Lua, это так, для примера.

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

20. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Нанобот (ok), 30-Июн-20, 13:47 
способ защитить себя от ошибок
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

60. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 30-Июн-20, 23:24 
для расширения функционала программы на с/с++ на более абстрактном уровне. так же для создания "умных" конфигов.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. Скрыто модератором  –7 +/
Сообщение от Аноним (6), 30-Июн-20, 12:11 
Ответить | Правка | Наверх | Cообщить модератору

7. Скрыто модератором  +/
Сообщение от mos87 (ok), 30-Июн-20, 12:14 
Ответить | Правка | Наверх | Cообщить модератору

8. Скрыто модератором  +6 +/
Сообщение от TormoZilla (?), 30-Июн-20, 12:25 
Ответить | Правка | Наверх | Cообщить модератору

9. Скрыто модератором  +1 +/
Сообщение от Аноним (9), 30-Июн-20, 12:31 
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

10. "Релиз языка программирования Lua 5.4"  +2 +/
Сообщение от nebularia (ok), 30-Июн-20, 12:38 
А в генту до сих пор 5.1 в stable XD

https://packages.gentoo.org/packages/dev-lang/lua

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

11. "Релиз языка программирования Lua 5.4"  +3 +/
Сообщение от Аноним (11), 30-Июн-20, 12:45 
5.1 ещё долго будет самой распространённой версией Lua, т.к. LuaJIT поддерживает только его (с парой-тройкой обратно совместимых фичей, бэкпортированных из 5.2)
Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Ilya Indigo (ok), 30-Июн-20, 13:32 
DC-хабы использовали её.Тогда других версий и не было.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

22. "Релиз языка программирования Lua 5.4"  –5 +/
Сообщение от Аноним (22), 30-Июн-20, 13:48 
Генту уже давно протух. Весь свежак в арче в ауре.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

26. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним (5), 30-Июн-20, 14:27 
Не совсем. Там есть 9999 БЕЗ немодерируемой ауропомойки с вирусами. Не далее чем вчера, я хотел скачать cppcheck, а есть версия только двухлетней давности. Но это не очень страшно — во первых, ничего критического в новых версиях не случилось, а во вторых, некоторый софт в принципе можно собирать только из дев ветки (где вся движуха). Скажем, на прошлой неделе я собрал smatch из гита, релизов там не было уже 10 лет и свежая версия не имеет релизов.
Ответить | Правка | Наверх | Cообщить модератору

32. Скрыто модератором  –4 +/
Сообщение от Аноним (22), 30-Июн-20, 16:11 
Ответить | Правка | Наверх | Cообщить модератору

35. Скрыто модератором  +2 +/
Сообщение от Аноним (5), 30-Июн-20, 16:37 
Ответить | Правка | Наверх | Cообщить модератору

45. Скрыто модератором  –2 +/
Сообщение от Lex (??), 30-Июн-20, 18:19 
Ответить | Правка | Наверх | Cообщить модератору

50. Скрыто модератором  –1 +/
Сообщение от Оуноуним (?), 30-Июн-20, 21:08 
Ответить | Правка | Наверх | Cообщить модератору

85. Скрыто модератором  –1 +/
Сообщение от Lex (??), 01-Июл-20, 08:10 
Ответить | Правка | Наверх | Cообщить модератору

86. Скрыто модератором  +2 +/
Сообщение от Vavan (?), 01-Июл-20, 08:49 
Ответить | Правка | Наверх | Cообщить модератору

12. "Релиз языка программирования Lua 5.4"  –9 +/
Сообщение от Аноним (12), 30-Июн-20, 12:46 
Я как то не смог без поллитра разобраться с метатаблицами и какой то банальной операцией над ними...ну это я допустим неосилил, хотя зачем мне осиливать, когда куча других более вменяемых встраиваемых скриптовых языков есть? Я лучше раст поосиливаю, если делать нечего будет...

Ну и обратная совместимость. Оператор goto, например, только в 5.3 появился. Не знаю даже баг это или фича. В общем, такое себе поделие...

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

13. "Релиз языка программирования Lua 5.4"  +6 +/
Сообщение от Аноним (13), 30-Июн-20, 13:03 
чувак, я не осилил твой поток сознания, пойду в туалет поосиливаю
Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз языка программирования Lua 5.4"  –2 +/
Сообщение от Ненавижу SJW (?), 30-Июн-20, 15:17 
> Оператор goto, например, только в 5.3 появился.

Лучше бы вообще не появлялся. Лучше бы его выдавали по N штук только по специальному запросу разработчикам в виде какой-то библиотеки, это касается любого языка.

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

29. "Релиз языка программирования Lua 5.4"  –3 +/
Сообщение от Ненавижу SJW (?), 30-Июн-20, 15:19 
По N штук на проект, в смысле
Ответить | Правка | Наверх | Cообщить модератору

15. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним (15), 30-Июн-20, 13:11 
Долго ли ещё придётся использовать https://github.com/starwing/luautf8?
Ответить | Правка | Наверх | Cообщить модератору

16. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (16), 30-Июн-20, 13:26 
Нормальной многопоточности нет, а библиотеки не под все операционки портированы.
Ответить | Правка | Наверх | Cообщить модератору

70. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (70), 01-Июл-20, 00:15 
там вообще многопоточности нет (multithreading).

в каждой нити (внутри C, куда ты встраиваешь Lua) -- предполагается создание независимого контекста Lua.

каждый контекст Lua работает и знает только про свою нить. ни о каких нитях внутри Lua даже подумать нельзя.

хотя конечно забавно что в самом LuaAPI есть внутреннее понятие Thread -- но оно о корутинах, а не о нитях.

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

75. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (70), 01-Июл-20, 00:54 
кстати а зачем тебе все операционки?

ты сам-то какую операционную систему используешь?

вот попробуй для неё и сделай годную программу. это не так просто. а уж сделать годную программу под "все" операционки -- вообще почти не возможно.

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

90. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (16), 01-Июл-20, 13:01 
Сейчас Debian, думаю поставить вместо него одну из BSD систем. Речь не про годные программы, а саму возможность. Хотелось использовать Lua для скриптования своих простых задач, но в BSD не портированы библиотеки многопоточности для Lua.
Ответить | Правка | Наверх | Cообщить модератору

18. "Релиз языка программирования Lua 5.4"  –2 +/
Сообщение от Аноним (18), 30-Июн-20, 13:40 
lua я люблю тебя! Хочу от тебя zlib (лицензию)
Ответить | Правка | Наверх | Cообщить модератору

21. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от Аноним (22), 30-Июн-20, 13:47 
На безрыбье и Луа ЯП.
Ответить | Правка | Наверх | Cообщить модератору

27. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Nellex (?), 30-Июн-20, 15:15 
Вместо const лучше бы нативное копирование таблиц добавили, надоел этот велосипед а-ля deepcopy.
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от ann (??), 30-Июн-20, 15:59 
А эти где? Которые "Не на расте значит фу, ненадо"
Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним (22), 30-Июн-20, 16:08 
Школу закончили пишут на плюсах.
Ответить | Правка | Наверх | Cообщить модератору

33. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от Аноним (33), 30-Июн-20, 16:15 
Подскажите-ка в какой БЗД-е по умолчанию используют Луа? В НетБЗД-е?
Ответить | Правка | Наверх | Cообщить модератору

37. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (5), 30-Июн-20, 16:53 
> Подскажите-ка в какой БЗД-е по умолчанию используют Луа? В НетБЗД-е?

В ядре? А зачем тебе по-умолчанию? Собери для линукса.

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

46. "Релиз языка программирования Lua 5.4"  +/
Сообщение от arfh (?), 30-Июн-20, 18:21 
Да, в ней, для драйверов.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

66. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним84701 (ok), 30-Июн-20, 23:52 
> Подскажите-ка в какой БЗД-е по умолчанию используют Луа? В НетБЗД-е?

В загрузчике фри заменили Forth на сабж.


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

36. "Релиз языка программирования Lua 5.4"  –2 +/
Сообщение от user90 (?), 30-Июн-20, 16:51 
В общем-то есть Perl.. вот честно, не оценил фичей Lua. Причем это не критика, а любопытство)
Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (5), 30-Июн-20, 16:54 
> В общем-то есть Perl.. вот честно, не оценил фичей Lua. Причем это
> не критика, а любопытство)

На перл ты не заскриптуешь игровой движок. Или весь движок не напишешь, как на луа. Или питоне.

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

39. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от user90 (?), 30-Июн-20, 16:57 
> На перл ты не заскриптуешь игровой движок

Хм, такой задачи никогда и не было.. но почему нет? И попроще, если можно :)

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

41. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним (5), 30-Июн-20, 17:02 
Потому что делать это будешь не ты, замечательный профессиональный перл разработчик с 30 летним опытом, а обезьянка-формошлёп, нанятая по случаю. Скриптование самая скучная и унылая часть геймдева, которая тем не менее неплохо оплачивается (если это отдельная должность, часто совмещают). Чем проще и примитивней, тем лучше. И луа вполне укладывается в подобную парадигму, где код пишут не программисты.
Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз языка программирования Lua 5.4"  +/
Сообщение от user90 (?), 30-Июн-20, 17:05 
Ок, с этой точки зрения понятно.
Ответить | Правка | Наверх | Cообщить модератору

44. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (44), 30-Июн-20, 17:42 
Есть же питон, который тоже встраивается, крайне популярен, имеет дцатиллион библиотек и понятен обезьянкам.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

73. "Релиз языка программирования Lua 5.4"  +3 +/
Сообщение от Аноним (70), 01-Июл-20, 00:36 
Python хуже встраивается чем Lua.

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

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

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

у тебя программа в 100 килобайт, а ты будешь туда 50 мегобайт питоновского интерпретатора запихивать (встраивать) включая его встроенные библиотеки (такие как работа с IMAP-почтовым-ящиком или HTTP-сервер).

при этом ещё и при работе с ним (из C-кода) тщательно учитывать всякую фигню типа "тут мы заимствуем ссылку.., а тут делаем копию.. а тут нужно не забыть увеличить счётчик ссылок, а тут уменьшить"

эта возня просто того не стоит!

Lua -- гибкий как пластилин... как свежее говно!!

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

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

40. "Релиз языка программирования Lua 5.4"  +/
Сообщение от 1 (??), 30-Июн-20, 17:00 
Всё что надо заскриптуешь - и даже чего не могут ни луа ни питон.

жЫрный Perl просто ... Так запросто не встроишь ...

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

42. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (5), 30-Июн-20, 17:04 
Питон же встраивают. Даже джаву встраивали (в качестве скриптового языка). А уж жс и подавно. Вот php и perl я не встречал.
Ответить | Правка | Наверх | Cообщить модератору

48. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Sarcastic scutosaurus (?), 30-Июн-20, 19:02 
> Так запросто не встроишь ...

https://perldoc.perl.org/perlembed.html

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

59. "Релиз языка программирования Lua 5.4"  +/
Сообщение от anonymous yet another (?), 30-Июн-20, 23:24 
Размер имеет значение. У решений на Lua --- сильно компактнее.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

74. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 01-Июл-20, 00:48 
Размер - это часто важно, но и помимо размера есть преимущества.

Удобная, простая, статическая линковка без внешних зависимостей, без необходимости иметь набор доп библиотек, без необходимости иметь файловую систему с установленной системой модулей/пакетов и т. п.

Не то чтобы для встраивания языков типа perl/python это прям всё невозможно... но даже если и возможно, то НАМНОГО сложнее и более ресурсоёмко. Ну и не очень понятно зачем встраивать такие махины внутрь, может тогда проще наоборот - вынести часть в расширения на С/С++, а основным "запускателем" оставить сам perl/python...

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

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

92. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (92), 01-Июл-20, 13:50 
Луа намного быстрее и ffi в разы проще, когда надо что-то сишное дернуть.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

49. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Главный Вопрошающий (?), 30-Июн-20, 20:05 
Народ, объясните мне, если не сложно конечно, почему LUA в разработке игр, как скриптовый язык, прижилась больше, чем Питон например? Что в LUA такого, за что его любят разработчики игр?
Ответить | Правка | Наверх | Cообщить модератору

52. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним (52), 30-Июн-20, 22:01 
потому что для встравания lua в основе достаточно одной dll-ки. И потому что lua самый шустрый из скриптовых.
Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от anonymous yet another (?), 30-Июн-20, 23:26 
+ хорошая и стабильная увязка с C в обе стороны.
Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз языка программирования Lua 5.4"  +/
Сообщение от draw1 (?), 01-Июл-20, 02:05 
А можно и вообще без dll-ки - статически влинковать прямо в исполняемый код. А такое гораздо проще, например, портировать на другие платформы (не везде есть dll-ки, so-шки да и вообще файлы в обычном понимании этого слова).
Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

53. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Ordu (ok), 30-Июн-20, 22:05 
Я могу лишь предположить, что дело в том, что lua исходно создавалась как язык для встраивания в приложения. Python же создавался как самостоятельный интерпретатор. Благодаря этому lua проще воткнуть в свой бинарь и запускать скрипты прям из C'шного кода. Я не думаю, что с пайтоном там какие-то непреодолимые проблемы так сделать, но с lua, мне кажется, проще. И это одна из основных маркетинговых фишек lua, насколько я понимаю.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

72. "Релиз языка программирования Lua 5.4"  +/
Сообщение от funny.falcon (?), 01-Июл-20, 00:33 
Встраивать Lua намного проще, т.к. он имеет минималистический api и не даёт шаловливым рукам отстрелить себе ногу (более-менее).

Кроме того, если не массировать строки (а в играх их редко массируют), то Lua чаще всего заметно быстрее питона.

Но как язык Lua конечно же говно в сравнении с питоном.

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

94. "Релиз языка программирования Lua 5.4"  +1 +/
Сообщение от Аноним (92), 01-Июл-20, 13:53 
Луа дает кучу возможностей отмотать себе веревки, чтобы повеситься.

Как язык луа абсолютно прекрасен. Но не для средних умов, в отличие от питона.

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

95. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от funny.falcon (?), 01-Июл-20, 16:51 
Как язык, Lua, после тесного знакомства, лучше только чем Javascript. Python намного приятнее.

Но вот api для встраивания в Lua максимально bulletproof.

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

83. "Релиз языка программирования Lua 5.4"  +/
Сообщение от GentooBoy (ok), 01-Июл-20, 03:05 
Потому что в базовом виде впиндюриваеться за пару часов в си/си++ проекты.
Дебажить куда удобней чем здоровенный питон.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

93. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (92), 01-Июл-20, 13:51 
Потому что в геймдеве не используют тормозные языки программирования. Deal with it.
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

51. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (52), 30-Июн-20, 21:56 
Вот блин почему не луа, а питон? Потому что бразильцы?
Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от Аноним (84), 01-Июл-20, 06:09 
Гвидон математик он танцевать не умеет, бразильцы создали Луа под звуки Ламбады.
Ответить | Правка | Наверх | Cообщить модератору

54. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от Аноним (54), 30-Июн-20, 22:28 
им дали angelscript - нет, не хотим, хотим жрать деерьмо.
и lua - самое гадкое из всех.
Ответить | Правка | Наверх | Cообщить модератору

57. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Сталин (?), 30-Июн-20, 22:52 
Чем он лучше ECMAScrilt? Если скриптовый язык и встраивать - то его, ибо в браузерах он работает с jitом и нативно.
Ответить | Правка | Наверх | Cообщить модератору

82. "Релиз языка программирования Lua 5.4"  +2 +/
Сообщение от draw1 (?), 01-Июл-20, 02:40 
> им дали angelscript - нет, не хотим, хотим жрать деерьмо.
> и lua - самое гадкое из всех.

Вот только lua появился на 10 лет раньше и к тому времени уже плотно занял нишу и был обкатан в тысячах программ. Не все склонны всё бросать и бегом ломиться на новое, модное, блестящее...

Вопрос (был?) не в достоинствах/недостатках языков. Ровно тоже самое и про JavaScript vs Lua. Изначально были совершенно разные ниши и разная доступность. И там те же 10 лет (если не больше) преимущество lua в нише простого встраивания во всё что угодно. Плюс ещё стереотипы про js...

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

102. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (102), 01-Июл-20, 19:49 
ты бы в вопросе сначала разобрался что-ли. в твоем ангельском скрипте даже колжур нет
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

67. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от СССР (?), 30-Июн-20, 23:57 
интересно посравнивать скорость итп )
http://chaiscript.com/
http://falconpl.org/
https://github.com/cesanta/v7

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

100. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (47), 01-Июл-20, 19:41 
Посравнивай, разрешаю.
Ответить | Правка | Наверх | Cообщить модератору

89. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от economist (?), 01-Июл-20, 11:22 
Есть шикарный юзкейс применения и сравнения скорости двух языков LUA и Python в одной программе "реального времени" - популярном, почти бесплатном музыкальном мультиплатформенном (MacOS/Win/Lin) редакторе/студии DAW (dig. audio workshop) Reaper, в которой встроена IDE для LUA/Python.

API Рипера содержит >1k команд и методов, и т.к. это музыка, - любая задержка DSP-обработки >5 миллисекунд будет слышна как недопустимый щелчок. И очень здорово что оба ЯП абсолютно равнозначны по набору реализованных команд и одинаковы быстры в работе, но LUA грузит ЦП все же меньше на 40%. Потому и репы кода 5:1 в пользу LUA.

Можно сказать что LUA в Reaper стал тем, чем стал VBA в Excel, то есть "волшебным огнем", постепенно выводящим DAW за 60 USD на топовые места по популярности среди других DAW, стоящих от 300 до 3000 USD.    

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

91. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (92), 01-Июл-20, 13:49 
Луа - лучший язык и луаджит пророк его.
Ответить | Правка | Наверх | Cообщить модератору

96. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (96), 01-Июл-20, 18:02 
Будте ли когда-нибудь Promise и async/await?
Когда будут массивы и словари отдельно?
Очень расстраивает реализация tables{}.
Ответить | Правка | Наверх | Cообщить модератору

97. "Релиз языка программирования Lua 5.4"  –1 +/
Сообщение от Аноним (97), 01-Июл-20, 18:08 
Ребята, есть смысл учить? Работу найти получится? Что вообще можно писать и где его в web применяют?
Ответить | Правка | Наверх | Cообщить модератору

101. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (47), 01-Июл-20, 19:44 
> есть смысл учить?

Есть, хотя — что там учить-то…

> Работу найти получится?

Получится, если хотя бы сишку ещё осилишь.

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

103. "Релиз языка программирования Lua 5.4"  +/
Сообщение от Аноним (92), 02-Июл-20, 02:47 
Если задаешь такие вопросы - в профессии тебе делать нечего. В лучшем случае как-то протолкаешься 2-3 года и перейдешь в менеджеры.
Ответить | Правка | К родителю #97 | Наверх | Cообщить модератору

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

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




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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