Snusmumriken
Anonymous
Anonymous
я тупо рассчитывал мб кто уже этот ховл пилит и я тоже начну попиливать
Snusmumriken
Ну, популярность мунскрипта в сравнении с луями — примерно такая же, как популярность typescript в сравнении с жаваскриптом.
> мб кто уже этот ховл пилит
Вроде пока никто не пилит, раз не отзываются, но ты можешь начать, и кто-то потянется : )
Anonymous
Pavel
Ребят. А вот ответьте мне на вопрос.
Зачем нужен луа если есть js?
Встраиваемость? Так есть v9?
Сервер? Так есть нода
Браузер? Опять же js нативен.
Pavel
По Тулингу js впереди.
Pavel
По скорости - сравнимо.
Pavel
Размер?
Snusmumriken
Ага. Во всех смыслах.
Snusmumriken
Представь что ты делаешь какую-то тулзу, типа wireshark. Что ты туда будешь встраивать в качестве скрипто-апи, и почему?
Pavel
> Долбаниутых решений
Это ты массивам с еденицы скажи. Или отсутсвию списков
Snusmumriken
Pavel
Чёт реально вексовщиной пахнет. По половине пунктов. Но в силу большей распространённости, и богатого npm, и более широкого применения - кажется что js все же выигрывает
Snusmumriken
На самом деле, ты почувствуешь разницу только при пробовании того и другого в разных условиях.
Pavel
Snusmumriken
Карочи, подозреваю у тебя период адаптации с какого-то другого языка. Типа "как в этом кошмаре делать всё то что я делал в няшном %langname%". Это нормально. Тут всё можно, надо просто привыкнуть. Или не надо, если тебе и на %langname% норм.
Pavel
Pavel
Snusmumriken
Ну в общем, попробуй встроить куда-нибудь. Для плюсов есть прям сверх-комфортные либы вроде tolua, которые дают нехилый оверхед, но превращают встраивание в т.ч. с передачей в луа "нормальных" плюсовых объектов в детский сад. Но и без этого всё сверхпросто и супер-классно.
Bit
Всем привет. Читаю дискуссию lua vs js.
Хочу добавить свои пять копеек:
1. Дизайн Lua - чище и аккуратнее. Это влияет на мышление. Js - несколько грязноватый язык.
2. В js не настолько сильна метамагия, в lua же это просто шик м блеск.
3. Удобство расширения на C. Очень просто :)
Asiman
спустя 5 лет в ит могу сказать одно: сравнивать языки безсмысленно
Snusmumriken
Ах да, у луёв ещё всё отлично с организацией проектов, чего я не видел в жаваскрипте.
Например, require делает ровно то что ожидается: выполняет вон тот файл (lua/dll/so) как функцию. Оно вернуло табличку? Отлично, вот и модуль с методами. В жаваскрипте для такого приходится извращаться. Зато сколько восторженных отзывов: "посоны, если завернуть весь код модуля в функцию, которая потом вернёт объект с методами-функциями — будет так круто, ничего лишнего в глобал-спейсе!".
Asiman
все равно что сравнить двух животных
Asiman
они созданы природой по какой-то причине
Asiman
тож самое и языки
Pavel
Asiman
не клей, а абстракция
Asiman
ну смотри, ты пишешь на питоне, на более высоком уровне и дергаешь сишные функции без необходимочти писать на самом си, то есть ты абстрактно выше
Asiman
как то так
Pavel
Pavel
Pavel
Asiman
Asiman
ахаха
Snusmumriken
Тссс
Snusmumriken
Луа ещё меньше, и она может нас услышать
Snusmumriken
Asiman
лучшее описание для луа
Snusmumriken
(админ удаляет всю нецензурщину, потому что тут дети)
Pavel
Pavel
В общем продолжая разговор про js
Удобство встраивания это безусловно важно.
Но если у тебя хайлоад проект, то кажется в итоге будет одинаково. Тебе одинаково глубоко надо будет погружаться в кучу нюансов, и общем работы что для js что для луа будет одинаков
Pavel
Повторю - я не встраивал js. Но со стороны выглядит так.
А найти js ера все таки проще
Snusmumriken
По поиску персонала — разумеется это так. Луа непопулярна, поэтому спецов мало, а толковых — ещё меньше.
Pavel
Pavel
Saphire
Ммм
Saphire
А я дальше пилю свой "интерпретатор" "лиспа"
Pavel
Кстати а мейлу нафига луа?
Pavel
А
Snusmumriken
Тарантул. Они решили что в него проще всего встроить и потом использовать именно луа. Интересно почему : )
Pavel
Тарантул
Pavel
Забыл чет
Pavel
Snusmumriken
Но чот вяло.
Snusmumriken
Насколько знаю над is они тоже работают
Карочи, у луёвой вселенной есть несколько косяков.
Сама по себе, она норм, но когда нужны сверхвычисления и гора логики — обычно подгребают luajit как типа-аналог v8. Но у луажита, как у как бы коммерческого продукта, есть пара фатальных недостатков. Один из них — вечная версия 5.1. Второй — проблемы при запихивании в него _слишком_ больших объёмов логики. Там чот не то с трассами, то ли они переполняются то ли ещё что-то такое, но при попытке активного исполнения >10000loc (или около того, с разогревами слишком большого количества трасс) — интерпретатор начинает работать в тысячу раз медленнее обычного луёвого. И ниоч функция хеширования строк. И ещё пара фиговин.
Это проблемы луажыта, к ванильному интерпретатору не относится.
Snusmumriken
Ну так и тарантул очень специфичен.
Тарантул — это практически идеальный сервер приложений со встроенной БД. Очень круто. У меня на работе примерно такая же система, только более жирная. Микросервисы — пальчики оближешь. С шардированиями-кластеризациями и прочей ерундой. Как будто в ноду встроили редис.
Pavel
Snusmumriken
Так и на редисе если луа
Там только "RPC". Это не сервер приложений. Можно конечно сделать, но как надо извратиться.
На редисе проблематично сделать именно что сервер. Хотя бы tcp/http : )
Saphire
Saphire
https://github.com/dibyendumajumdar/ravi
Snusmumriken
Это уже компиляция луа-скриптов в LLVM, нечто совсем другое. Не интерпретатор.
Saphire
Llvm именно житит
Snusmumriken
LLVM — это нечто совершенно другое, эх. Считай что компиляция луёв в единый-байткод-для-всех-языков.
Snusmumriken
Тут уже "интерпретатором" скомпилированного байткода будет работать http://llvm.org/docs/CommandGuide/lli.html, или ещё что-нибудь. И оно будет исполнять что угодно: жаву, шарп, сишку, питон, жаваскрипт — скомпиленные в llwm.
И я не знаю как оно будет работать с платформоспецифичными либами. Просто так ты сюда не подцепишь сишные-луёвые либы, придётся изгаляться.
Pavel