mva
не вижу никаких причин (ну, кроме некоторого фронта работ чтобы портировать на ещё не портированные архитектуры) чем бы католическая реализация была бы лучше LJ
Александр
Согласен, но она расширяет область применения, луа же даже со стандартной библиотекой в изоляции от окружения io.popen, os.execute может весьма немного. Собственно из-за этого и появились luarocks и компания и из-за чего в ход идут костыли
mva
// ну и кроме того что уже 5.4 выкатили, а LJ, вроде, максимально из 5.3 фичи поддерживает
mva
и да, то, что из коробки (имея только стандартную библиотеку) Lua имеет не много - это JUST AS PLANNED
mva
стандартная библиотека имеет всё, чтобы на её основе можно было написать всё, что тебе нужно
mva
ещё раз:
Александр
Ну если использовать растовские библиотеки, то открою секрет - эти библиотеки сперва нужно написать, затем написать расширение для луа и только спустя часы кропотливой работы можно будет в одну строчку запустить что-то из луа
R
на самом деле, как по мне, слили бы уже давно puc-rio имплементацию и взяли бы luajit за основу.
Ванилька очень уж переносимая, полезно такой референс иметь. Да и сложно найти людей, способных в ЛЖ.
mva
питон - для тех, кому нужен комбаен, который умеет много // но херово, как обычно луа - для тех, кому нужен точно заточенный инструмент для конкретной задачи
Александр
на самом деле, как по мне, слили бы уже давно puc-rio имплементацию и взяли бы luajit за основу.
luajit всё-таки изврат, т.к. через громоздкий интерфейс объединяет в хрупком окружении Си и луа, у него есть конечно достоинства, но Силуа это всё-таки не луа
Александр
чем luarocks отличается от pip?
Ничем, мне и кривой порой pip не особо нравится, я сторонник расширенной библиотеки из коробки, либо некоторой "расширенной стандартной библиотеки", в которую можно было бы опакетить дополнительные возможности и выполненные в "родном" по отношению к луа стиле
mva
для католической Lua тоже есть либа для FFI
mva
просто в LJ она встроенная
Александр
питон - для тех, кому нужен комбаен, который умеет много // но херово, как обычно луа - для тех, кому нужен точно заточенный инструмент для конкретной задачи
Приведите пример какую задачу может хорошо выполнять луа в изолированном окружении(без костылей) - строки обработать ?)
mva
это не то ради чего существует LJ
mva
а существует он ради JIT, который реализуется через dynasm
Александр
FFI != LJ
Ну судя по попадавшемуся мне коду вполне ==, потому что ЛЖ для скорости и FFI один из её драйверов.
mva
настолько минимальный, что можно встроить в микроконтроллер с парой килобайт оперативки и работяющий на 40мгц процессоре
mva
FFI для pucrio существовала ещё до появления LJ
Александр
FFI для pucrio существовала ещё до появления LJ
Запрос по "Lua FFI" предлагает мне потрогать Luajit, так про какой такой FFI вы говорите ?
mva
первая ссылка в гугле
mva
буквально
mva
ну, не совсем в гугле, правда
mva
https://github.com/Ygrex/dlffi вот ещё, с первой страницы
mva
вот более новая: https://github.com/q66/cffi-lua
mva
ну и куда же без https://github.com/mascarenhas/alien
mva
https://github.com/LuaDist/libffi
ну ладно, тут просто форк оригинально libffi. Но остальные - вполне себе рабочие биндинги к ней.
mva
setfenv
Александр
Не зависите от других библиотек, неявно отвязаны от среды, проще говоря тот же ffi это уже не луа, а костыль для совместной работы с Си, проще говоря "ваниль" - как язык, код на котором работает в любом стандартном окружении, ну и конечно os.execute, io.popen, которые костыль
mva
просто у питона они в коробке идут, а у луны коробка полупустая, вот от этого у него и баттхёрт :)
mva
вообще-то был такой дистрибутив...
mva
даже, не один, вроде
mva
luadist, кажись, тоже
Александр
Да понимаю, но в том и суть, что неявно питон от зависимостей отвязан тем, что в 99,99% конфигураций я код на питоне и его встроенной библиотеке запущу и буду иметь все его платформоотвязанные возможности, в луа соотвественно без нестандартных библиотек и криптоокружений/интерпретаторов можно очень мало. То что так сделать можно, но никто не делает - это примерно и беда, т.к. получается, что полагаться на луарокс нельзя - либо пользуй полуготовые библиотеки васянов, либо пиши сам
R
просто у питона они в коробке идут, а у луны коробка полупустая, вот от этого у него и баттхёрт :)
Да троллит он :) Просто темы не знает, поэтому троллинг какой-то малость унылый получается.
Snusmumriken
Напишите свои собственные полные аналоги питоновых либ и сделайте себе точно такое же окружение и набор либ как в питоне. Проблемы?
Александр
Да троллит он :) Просто темы не знает, поэтому троллинг какой-то малость унылый получается.
Вся тема раскрутилась из того, что искоробочное окружение луа очень узкое, внешнее нестабильно и может от версии к версии быть несовместимо, т.е. нестабильно в виду чего область применения сужается, либо растут накладные расходы, поэтому луа хорош в узкой, прямо заявленной области - минимализма, переносимости и встраивания. С самодостаточностью по мне у луа не всё так хорошо
mva
просто у питона и луны разная нумерация версий
mva
5.0->5.1->5.2->5.3->5.4 (l) == 2->3 (p)
mva
тут не совсем честная нумерация у луны, да :)
Snusmumriken
Ну не, у питона есть разные переделки интерфейсов в 3.6, 3.7, 3.8 и т.д. И библиотеки/несовместимость.
mva
а, кстати, да
mva
я тоже сталкивался с проектами не совместимыми с 3.9 вот прямо совсем недавно
Snusmumriken
Карочи, для того чтобы всегда иметь полную совместимость с любым древним говном, пишите на Java. Ораклы вкладывают очень много бабосов чтобы любой код написанный для 1.0 работал на 9.0. И не трахайте себе мозги.
mva
так что всё у них одинаково с поломками между версиями
Александр
Напишите свои собственные полные аналоги питоновых либ и сделайте себе точно такое же окружение и набор либ как в питоне. Проблемы?
Так тогда луа тут при чём ?) Напишите библиотеку на Си, обвяжите луа и вызывайте в луа, а не в си в 1-2 строки ?) Я знаю что луа можно расширять, знаю, что его можно встраивать, говорю лишь о том, что за рамками внешних зависимостей чистый луа может очень мало и костыли, в т.ч. которым вполне является смешение языков и сред - очевидный исход
mva
в minipython (или как он там), например, есть не больше чем в lua
mva
а если нужна коробка с батарейками, то и для lua такие есть, уже упоминали выше
Snusmumriken
Вы, простите, пурист? Вам подавай только девственные чистенькие языки, а всё с вкраплениями "кода не от главных создателей" — фу, шлюха?
Highly Likely
О, война в чате
Highly Likely
В чем суть?
Александр
у питона между версиями окружение тоже несовместимо
У луа всё-таки зоопарк посерьёзнее будет - 5.2, 5.3, 5.4, 5.2*(jit), 5.1- кода, от чего соответственно неоднократно приходилось исправлять и переписывать самостоятельно некоторые внешние пакеты, в питоне всё-таки чуть проще и как правило ванильную 3.* берут за ориентир
Snusmumriken
В чем суть?
"Чистая луа ничего не умеет, сторонние либы написаны быдлокодерами/платформозависимы/багнуты/не мейнтенятся и вообще говно, остаётся только встраивать луа"
Highly Likely
Так чистый Си тоже ничего не умеет
Highly Likely
А зоопарк там еще страшнее
Highly Likely
Он, получается, тоже говно?
Highly Likely
А уж какие там быдлокодеры!
Highly Likely
Ну так это два разных языка с разными целями, смысл их сравнивать?
Snusmumriken
На сишке гипотетически можно получить доступ к железке и сделать всё что угодно ))
Highly Likely
На сишке гипотетически можно получить доступ к железке и сделать всё что угодно ))
Ну, это да. Если разрешить использовать C-API, на Луа тоже...
Highly Likely
Какой-то холивар странный. Питону — свои задачи, Луашке — свои
Snusmumriken
Ну типа питон неплохо себя показывает как замена башу, иногда со встроенным матаном. Но в общем-то всё. Писать на нём что-то сложное — заебёсси.
Highly Likely
Ну, какой-нибудь бекенд на джанге пишется на питоне проще, чем на Луашке
Highly Likely
Как ни крути, чисто за счет размера коммьюнити
Highly Likely
Впрочем, можно и на OpenResty + Lua
Snusmumriken
Ну, писать на питоне библиотеки (особенно со всякими вараргами и альтернативными методами) — заебёсси, код автоматически превращается в говно, хотя на "пользовательской стороне" всё типа будет красиво. Писать для него сишные расширения из-за его долбанутых сишных интерфейсов — заебёсси.
Highly Likely
Значит ли это, что у него нет применимости, где он будет лучше Lua?