@ProLua

Страница 215 из 307
Philipp
23.12.2017
12:04:13
А

Тогда понятно

Andrey
23.12.2017
12:05:04
Но на самом деле SQLang очень сильно помог - я в пятницу вернулся к луа совсем другой код начал писать

Snusmumriken
23.12.2017
12:05:34
Можно глянуть, спасибо

Google
Andrey
23.12.2017
12:06:08
Его в новой версии камаилио добавили - решил поиграться

Snusmumriken
23.12.2017
12:06:40
Обожаю гугл



Теперь понятно почему совсем другой код.

Andrey
23.12.2017
12:07:28
?

Не - я вот про это http://squirrel-lang.org/

http://wiki.squirrel-lang.org/mainsite/Wiki/default.aspx/SquirrelWiki/Lua%20Compared%20to%20Squirrel.html

Они даже сравнение расписали подробное. ЯП из Lua был сделан

Snusmumriken
23.12.2017
12:09:15
Мне больше нравится идея: 'пишешь плохой код и sqlang бьёт тебя током в жопу'.

Andrey
23.12.2017
12:11:55
С стреляет тебе в ногу, С++ отрывает её нахрен при помощи С4 ?

А Жава просто засыпает тебя книгами))))

Snusmumriken
23.12.2017
12:13:05
Ну, это жестоко. Но на С/С++ можно точно бить. За каждый ворнинг компилятора - слабо бьём током, за эррор - сильно, за фатал - очень сильно.

Andrey
23.12.2017
12:13:45
Да это старый текст начинающийся "В СИ вы можете выстрелить себе в ногу"

Google
Snusmumriken
23.12.2017
12:15:07
Да, это в курсе, на лурке есть забавная копипаста из федо "отстреливаем ногу в разных ЯП": http://lurkmore.to/Выстрелить_себе_в_ногу Хе. > Lua: Если разработчик пистолета предусмотрел возможность выстрела в ногу — достаточно вызвать одну функцию. Если нет — хоть убейтесь, но ничего не выйдет. > Squirrel: Намаявшись с Lua, вы прогрызаете ногу той самой белкой, глаз которой вы отстрелили из пистолета «ABAP».

Andrey
23.12.2017
12:16:32
Что сильно в sqlang опечалило - там в стандартной библиотеке нет работы с БД. И аналога luarocks тоже нет - придется писать коннектор

Snusmumriken
23.12.2017
12:17:52
Луа-либы цепляются? Код совместим с луа?

Andrey
23.12.2017
12:17:59
Вроде нет

Там свое апи

Snusmumriken
23.12.2017
12:18:21
Вот это обидно, у луа есть худо-бедная либная инфраструктура.

Andrey
23.12.2017
12:18:34
К сожалению она ужасна

Snusmumriken
23.12.2017
12:20:45
Да ладно. То что "прям необходимо" - есть: - luasocket - lanes - lua-utf8 - json/cjson - всякие шифровалки/кодеры b64/defold бла-бла Они настолько распространены и доминируют, что почти стандарт. На С/С++-либы пишем врапперы.

Andrey
23.12.2017
12:21:02
Например поставить dbi_mysql, чтобы он сразу заработал через luarocks в центос - нетривиальная задача)))

Snusmumriken
23.12.2017
12:21:33
Врапперы сишных просто пишутся.

Andrey
23.12.2017
12:22:38
Гдето попадался ответ на вопрос в чем разница между луа и sqlang - на луа вы пишете много хорошего кода на Си, в sqlang вы пишите много хорошоего кода на sqlange ?

Snusmumriken
23.12.2017
12:23:49
Скриптовая природа sqlang, скорее всего, не позволяет расширять сам ЯП. Ну, luajit позволяет инклюдировать на лету системные либы и ковырять их, например. То есть, sqlang, СКОРЕЕ ВСЕГО имеет те же проблемы. Ну, или на нём можно писать драйверы без сишной прослойки, или прямо командовать ОС через winapi/xwindow/posix-[signal/pipes]?

В целом, луа же изначально разрабатывался не как самостоятельный яп, то что его используют для самостоятельной сложной логики - это немного не то что закладывали изначально. Поэтому он такой мелкий: нужно чтобы влезало на микруху, цепляло либы этой микрухи и дёргало их.

Andrey
23.12.2017
12:27:07
Ну у меня простая задача - писать логику для телефонных систем - Asterisk и Kamailio. У них есть С подобный синтаксис и поддержка некоторых ЯП

Snusmumriken
23.12.2017
12:28:31
Ну, луа там - стандарт скриптов. Телефония - это как раз те самые embedded-девайсы и быстрый код, который нужно мочь легко изменять, это лучшее применение луёв, ровно то для чего их делали.

Andrey
23.12.2017
12:29:49
Я еще на lua хотел скрипты для шелла ваять, но не сошлось

Snusmumriken
23.12.2017
12:31:13


Andrey
23.12.2017
12:31:44
ruby лучше подошел - много сделано уже в виде гемов

Snusmumriken
23.12.2017
12:32:12
Ну да, у меня тут утилитарное решение, я таких очень мало пишу ибо не одмен (бекенд/крупные приложения).

Andrey
23.12.2017
12:32:22
Демонов, которые сами себя мониторят, обертку для крона и тд

Google
Snusmumriken
23.12.2017
12:32:51
Во, спасибо что напомнил. Надо накатать сервис под венду-сервер луа-приложений.

Andrey
23.12.2017
12:32:51
Ну это к фразе что для каждой задачи свой инструмент)

Snusmumriken
23.12.2017
12:33:33
Давно хочу фиговину, которая не отсвечивает в венде и автоматически запускается, и к которой подключаемся по telnet, и говорим: "Выполни такой-то луа-скрипт, логи писать сюды", или "останови такой-то скрипт", и типа на завершении работы компа - сохраняем текущие запущенные вещи и переоткрываем их снова при запуске.

Andrey
23.12.2017
12:35:07
О, кстати, в sqlang есть классная фишка - генерация таблиц из JSON - хочу что нить такое же, чтобы по хттп забирать диалплан в астериск

Snusmumriken
23.12.2017
12:35:56
Хм. В луа есть cjson, который трансформирует таблицы в json-строки и обратно. И serpent, который просто сериализует таблицы (можно обратно загружать через loadstring). Но это не "стандартная либа", да.

Andrey
23.12.2017
12:36:27
Надо будет почитать

Snusmumriken
23.12.2017
12:36:48
Если не хочешь компилировать cjson - есть варик с чисто луа-json-парсерами, даже без зависимостей (хотя ещё пара либ с зависимостью от lpeg - работают быстрее). Но cjson доминирует и по скорости и по распространённости.

Andrey
23.12.2017
12:39:01
Сейчас пока сделал возврат таблицы ключ -> имя функции и добавляю в астериск через dofile

Snusmumriken
23.12.2017
12:39:54


Страница 215 из 307