🦥Alex Fails
Да, это круто
🦥Alex Fails
Я тут плюсового бота пишу с подключевмм скриптами на луа
Igor
Зачем плюсы?
🦥Alex Fails
Это мой профессиональный язык
Igor
По-моему больше заморочек, ибо это выйдет переизобретение уже существующего интерпретатора для различных систем
Igor
Имеется ввиду то, что нет смысла писать основу бота на плюсах, если все равно модули на луа будут. Собственно основной код занимают модули, так что плюсы здесь будут просто изобретением велосипеда
Alejandro Jeditobe
Сначала я заговорил на брейнфаке, потом на бейзике, а потом мне попалась книжка про русский язык на ломаном безике.
Igor
Это да, важная тема
🦥Alex Fails
Самый весёлый бот был на. .sh
Igor
На баше-то?
Igor
Мне вот интересно есть ли реализация луа-машины на расте, было бы интересно пощупать
Igor
И сравнить производительность кода
Oleksandr
можно пропустить PUC Lua через Corrode :)
Oleksandr
Конечно
Alejandro Jeditobe
Самый весёлый бот был на. .sh
Просто у тебя все время скриншоты смартфона. Создается ощущение, что за компом ты вообще не кодишь.
🦥Alex Fails
🦥Alex Fails
Igor
Не, меня интересует именно нативность кода
Igor
Насколько раст медленней будет тогда
Igor
Или быстрее, что я сомневаюсь, но вдруг
Alejandro Jeditobe
🦥Alex Fails
🦥Alex Fails
Disi
Anonymous
🦥Alex Fails
Не. wget
Igor
Бот wget'ом? Это как?)
Igor
Я видел чтоб curl'ом работали, но wget'ом...
ГуНиСе️
А чем wget плох?
Igor
Да он вроде для такого не предназначен
Igor
А curl умеет всё и вся
ГуНиСе️
wget тоже 😉
ГуНиСе️
У меня даже опросик есть
ГуНиСе️
?
wget – 33
👍👍👍👍👍👍👍 70%
curl – 14
👍👍👍 30%
👥 47 people voted so far.
Igor
Ну не знаю, я его только для качалки использовал, но не в продакшне)
Alexander
Как то привычнее
Alex
fetch
Alejandro Jeditobe
Всем прювед
Anonymous
Ребят, а есть какая нибуть. Typelua по аналогии с typescript?
Мерль
Мерль
А ещё есть typescript->lua
Snusmumriken
Кстати, тут народ спрашивал, для чего крупного использовалась lua.
Например, это:
http://store.steampowered.com/app/323850/?l=russian
Связка либ, типа OpenGL/OpenAL/2dBox/DeviL и ещё кучки всякого, которые дёргаются через lua. Фреймворк love2d. Это не движок, потому что нет внутренней структуры, менеджеров сущностей, сетевой модели и всего такого. Это все надо писать на lua.
Да и я, например, работаю программистом на lua, пилю скрипты для бд и сетевые микросервисы. Многопоточность (lanes), скорость (jit/ffi) и нетребовательность к ресурсам. Собственно, именно поэтому lua.
А так - почти не пишут ничего крупного потому, что язык не распиарен. Нет вакансий = нет желающих.
Я отхватил уникальную вакансию, и то, когда устраивался - народ офигел, что кто-то три года потратил на такой непопулярный язык, типа никто таким не занимается.
Anonymous
Кстати, тут народ спрашивал, для чего крупного использовалась lua.
Например, это:
http://store.steampowered.com/app/323850/?l=russian
Связка либ, типа OpenGL/OpenAL/2dBox/DeviL и ещё кучки всякого, которые дёргаются через lua. Фреймворк love2d. Это не движок, потому что нет внутренней структуры, менеджеров сущностей, сетевой модели и всего такого. Это все надо писать на lua.
Да и я, например, работаю программистом на lua, пилю скрипты для бд и сетевые микросервисы. Многопоточность (lanes), скорость (jit/ffi) и нетребовательность к ресурсам. Собственно, именно поэтому lua.
А так - почти не пишут ничего крупного потому, что язык не распиарен. Нет вакансий = нет желающих.
Я отхватил уникальную вакансию, и то, когда устраивался - народ офигел, что кто-то три года потратил на такой непопулярный язык, типа никто таким не занимается.
Тарантул же на луа написан !!!
Alex
Не надо кричать, спасибо.
Anonymous
О
Anonymous
А я не знал
Snusmumriken
У большей части крупного ПО с lua, используется только скриптовая часть.
На деле, на lua написан клиент simple tv, штука для просмотра потокового торрентового видео. Довольно крупная штука. Много оттуда либ выдрал :3
Snusmumriken
А то.
Единственное что бы мне помешало писать что-то крупное - кошмарно огромный вес lua-таблиц.
Таблица 15к х 10к, где каждое поле - маленькая табличка xyz, занимает 10гб и инициализируется минут пять.
Это реально напрягает.
Ну, с луажит оно весит 350мб и инициализируется пол секунды.
Поэтому так любят луажит.
Snusmumriken
Я пишу игры на луаче. Собсно, лов2д.
Правда, нанимаю не кодеров а художников.
Snusmumriken
А то.
Даже класс-конструктор массивов и структур с итераторами и прочими table.sort
Snusmumriken
Не, класс-конструктор
Snusmumriken
О, кстати, пример векторной библиотеки на жыте:
http://pastebin.com/i7qC1aKn
Snusmumriken
Она значительно быстрее lua-таблиц. Раза в полтора-два, особенно при создании новых векторов (раз в 80)
Для активных векторных вычислений в игрульках - самое то.
Для того и писал, собственно.
Плюс синтаксический сахарок, от которого у меня скоро будет синтаксический диабет.
Snusmumriken
Дефолт жит не знает, что будет в таблице, и не добавят ли в неё другую таблицу, новые поля или не изменят ли типы.
В отличии от таблиц lua, он статичен во всех смыслах, ь поэтому хорошо подходит для векторов, тайловых игровых карт и прочей лабуды, которая заведомо не меняется.
Кстати, можно замутить динамические ffi-массивы. Хм.
Правда, они будут не шибко быстрыми при добавлении/удалении.
Snusmumriken
Если что.
Jit - just in time compilation.
Если он видит что какой-то кусок кода повторяется много-много раз без изменений, или, если умный - смотрит закономерность изменений - он компилит прогу в что-то похожее машинный код.
Ffi - foreign function interface.
Апишка для вызова сишных функций (даже если эта функция создает структуру и передаёт на неё указатель хосту).
Это разные штуки, пусть и объединены в lua в один модуль: ffi представляет возможность работы jit.
Как ты явно укажешь тип lua-таблицы? Я не видел ни одной апишки по управлению типами таблиц.
Поэтому необходим маппер сишных структур. Они довольно сильно отличаются от луашных табличек, если что.
Сам ffi это делает, например, так:
ffi.cdef 'typedef struct { double x, y; } vec2;'
Мы точно определили тип компонентов вектора.
Теперь можно творить муть.
Оно, кстати, jit-компилится сразу.
Nikolay
Так CoronaSDK же? Или уже кто-то упомянул, а я не увидел?
Snusmumriken
Как и везде.
Вопрос только в количестве свободы.
Другое дело, что им луашка расширяема dll/so-либами, благодаря чему её свобода стремится к свободе сишки.
Ну, а с ffi даже dll-ок не надо чаще всего.
Nikolay
Так вопрос был по поводу серьёзных проектов, в которых ключевым компонентом является Луа.
Nikolay
Обоснуйте
Nikolay
Да, я думаю лучший встраиваемый язык. Но зачем пытаться писать полностью на Луа - мне не совсем понятно.
Nikolay
Смотря что считать ядром.
Nikolay
Не очевидно :)
E
Сегодня badoo и еще некоторое количество проектов рассказывали что используют lua на уровне nginx, это нормально для доказательства его нужности? Ну и тарантул от мейлру
Oleksandr
snabbswitch, программируемые на луа свичи
Oleksandr
в freebsd кернел луа скриптуется
Oleksandr
точно
Oleksandr
кстати, Terra (terralang.org) пробовал кто-нибудь?
Alejandro Jeditobe
Превед
Anonymous
Nikolay
посмотрел terralang, но не понял зачем он.
Nikolay
в смысле для каких практических задач.
ඞ
Igor
Практические задачи это обширное понятие, почти все современные языки вполне универсальны
ඞ