LINUX.ORG.RU

На сколько сейчас живой lua?

 , ,


0

3

Я тут пилю свой оркестратор just for fun. Аналог camunda если хотите. Сам проект хочу видеть единым бинарником, потому пилю его на расте, но пользовательские задачи надо описывать на каком-то тьюринг полном cкриптовом языке. Потому встал вопрос о том, что выбрать. Я вообще склоняюсь к lua, потому что он очень быстрый, его стандартная библиотека маленькая и его интерпретаторы занимают мало памяти. Lua сейчас, кажется, уже устаревает, но так как я планирую делать бинарник без внешних зависимостей, то это не должно быть проблемой, так ведь? Однако может я чего-то упускаю? Есть ли смысл тащить в качестве встроенного ЯП питон там или js? Или может сейчас изобрели что-то новое удобное, о чем я не знаю?

★★★★★

Живой, не так давно 5.4 вышла.

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

У JS были какие-то встраиваемые интерпретаторы, как минимум Duktape, про Python не знаю.

Ceiling_QB ★★★★
()
Ответ на: комментарий от Ceiling_QB

не так давно 5.4 вышла.

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

eternal_sorrow ★★★★★
()
Ответ на: комментарий от screamager

Не могу говорить за всех, но Lua в своё время я освоил практически сразу и практически полностью, в то время как Python нет желания даже вспоминать.

А любителей умных вопросов «зачем Lua, когда есть X, ведь X все знают, и в нём большая стандартная библиотека» отсылаю к докладу Why (and why not) Lua.

Ceiling_QB ★★★★
()
Последнее исправление: Ceiling_QB (всего исправлений: 2)
Ответ на: комментарий от screamager

А так можно прикрутить что угодно

Важен баланс. Луа действительно можно изучить за несколько часов, если ты знаком с каким-либо другим императивным яп. Это немного. А инди поделки с раст подобным синтаксисом потребуют бОльшего времени. А относительно сравнения с py/js я считаю важным преимуществом маленький рантайм lua. В то время как у py/js рантаймы большие. А если начать отключать им что-то из стандартной библиотеки, то у потенциального писателя скриптов времени на выяснение того, что тут работает, а что нет уйдет больше чем на изучение lua.

Aswed ★★★★★
() автор топика

Есть ли смысл тащить в качестве встроенного ЯП питон там или js?

quickjs можно еще попробовать встроить, если не охота тащить v8.

На сколько сейчас живой lua?

Живее всех живых, тащат везде, особенно его любят гейдевы.

crutch_master ★★★★★
()

Есть встраиваемый tinyPython или как там его. Используется в AviDemux, где я и ознакомился с ним в процессе решения задач автоматизации. Плевался долго.

Psilocybe ★★★★
()
Ответ на: комментарий от Aswed

То что ты изучил за несколько часов, это большой вопрос, тоже самое многие и про python с js пишут, но на деле все сложнее и зависит от того какой у тебя бэграунд, и чем считать это «изучил»?

Какая разница в райтайме в цифрах, и действительно ли она ужасает?

screamager
()

Я вообще склоняюсь к lua, потому что он очень быстрый, его стандартная библиотека маленькая и его интерпретаторы занимают мало памяти

Да, но там версии достаточно значительно отличаются между собой. Например 5.1 и 5.4 весьма разные. Поэтому там лучше выбрать одну версию и её использовать. Не пытаться обновлять её или типа того, потому что иначе для пользователей это будет боль - все переписывать.

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от screamager

То что ты изучил за несколько часов, это большой вопрос

С lua этого достаточно. У меня например получалось, изучив lua за несколько часов с нуля, клепать патчи к программам. Это настолько простой язык.

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от Ceiling_QB

Зато python уже и так многие знают, его не нужно учить, так как его учат, потому что он популярный и используют повсеместно, а не ради использования в конкретной проге.

Да большинство используют не уча его, чтобы что-то поправить иногда знание языка вообще не нужно, я бывало сценарии для игр правил под себя, чтобы сделать по аналогии имеющегося кода, мне даже знания что это за язык не требовалось, потом конечно я узнал что это был lua. Также и пользования elisp в emacs мне не требовалось учить его.

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

screamager
()
Ответ на: комментарий от vbcnthfkmnth123

изучив lua за несколько часов с нуля

что значит с нуля? ты вообще ни на каких языках до этого не писал, а увидев lua через пару часов стал программистом?

Я со знанием bash, хз насколько хорошо я его знаю, и знаю ли вообще, хотя это не мешает писать скрипты на сотни строк, мог править и дописывать python скрипты вообще неуча его, это вообще о чем-то говорит?

screamager
()
Ответ на: комментарий от screamager

что значит с нуля?

Это значит что я ничего про lua вообще не знал.

ты вообще ни на каких языках до этого не писал

На си и паскале лабораторные писал, это считается?

это вообще о чем-то говорит

Ничего про питон не могу сказать, не писал на нем.

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

На си и паскале лабораторные писал, это считается?

С таким бэграундом не удивительно, что lua тебе зашел.

Ничего про питон не могу сказать, не писал на нем.

То есть сравнить тебе не с чем? Может js пробовал? Я к тому, что для такого уровня использования, может и вообще нет разницы lua, python или js, но последние люди изучают, и могут сделать что-то более полезное, если понадобится.

screamager
()
Ответ на: комментарий от screamager

То есть сравнить тебе не с чем?

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

Может js пробовал?

Пробовал. У меня с ним всё плохо. Кое-как лабораторную сдал и всё.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)

У меня сейчас на столе лежит Иерузалимски в специальном издании от МойОфис (у них макросы на них) - читаю неспеша. Применяю в Asterisk, планирую также для Kamailio.

Turbid ★★★★★
()

потому что он очень быстрый, его стандартная библиотека маленькая и его интерпретаторы занимают мало памяти

Он не быстрый и не маленький. Ну т.е. когда-то был, но мир не стоит на месте. Бери v8 и не страдай фигнёй.

no-such-file ★★★★★
()
Ответ на: комментарий от thegoldone

Чтение книжки Иерусалимского требует немного больше времени, зато поле нее в языке вообще не остается «темных мест» (там даже сишный API разбирается)

annulen ★★★★★
()
Ответ на: комментарий от annulen

Точно не для людей. Для веб-разработчиков - возможно (но их я за людей не считаю:)

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

Его все знают.

Знают, или только делают вид?

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

vbr ★★★
()
Ответ на: комментарий от screamager

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

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)

некоторые игровые движки поддерживают скрипты на lua. иногда на ней делают игровые сервера. в основном lua популярна в инди и в категории b и c.

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

Unixson
()
Последнее исправление: Unixson (всего исправлений: 1)
Ответ на: комментарий от peregrine

плагины к игорям

Там не нужно никакое быстродействие от слова совсем. Ну т.е. десятки-сотни событий в секунду максимум. Это ни о чём уровень древних калькуляторов.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

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

А вот инди или категорию /b/ писать на Lua самое то, это да.

Да и не из-за быстроты событий или упаси господь графона игры становятся хорошими. Прежде всего это геймдизайн и геймплей.

Unixson
()
Ответ на: комментарий от screamager

То что ты изучил за несколько часов, это большой вопрос,

За сколько ты прочитаешь 200 страниц? Это и есть время, за которое ты изучишь Луа полностью. Не веришь – можешь попробовать. В природе есть ровно одна книга в которой есть все знания по луа. Прочитал – освоил. И не надо каждые 15 мину переучиваться.

pihter ★★★★★
()