Anonymous
Который не покроет хотя бы 90% кейсов. Что бы не пришлось переписывать библиотеку.
Anonymous
Даже FFI Golang заставляет страдать. Да и Раст тоже. А вы мне говорите о вещи которая вообще мало что покроект.
Anonymous
LuaJit то много не может. Так вот. А теперь вспомним про разные операционные системы, компиляторы и даже процессоры.
Anonymous
вы готовы это все пилить? Разработчик Lua нет. Я ..точно нет. А разработчик питона пилил.
Anonymous
Но мы опять уперлись в стену. Языки для разных целей.
Anonymous
Но забавно что Lua любят там, где не любят питон. В этом и есть весь показатель.
usernameak
луа не особо нужен ффи по причине того что там где луа юзается можно подключить с другой стороны
Anonymous
Там есть отличный биндинг под все версии луа.
Денис
луа не особо нужен ффи по причине того что там где луа юзается можно подключить с другой стороны
Не, частенько FFI не помешал бы. Или хотя бы нормально собранный Alien пресловутый
Anonymous
даже 5.0?!
5.1+ и Lua от Robolox
Anonymous
90% библиотек на питоне это просто FFI
Anonymous
ОТ математики до sdl2
usernameak
кстати, я планирую обновлять с 5.0 до 5.1
usernameak
подводные?
Anonymous
Не скажу. Я только 5.1 хорошо знаю. Ну на каком то уровне. Так вот сделать SDL2 нативно из С для Lua уже куча сложностей. в 5.4 попроще немного. Но самый сок начинается когда вам надо это все обновлять...Перекомпилировать и.т.д. и.т.п ...Ад компиляторов...
usernameak
подводные?
не считая того что надо выпилить проклятую древность под названием CaLua
Anonymous
А какой по размеру проект?
usernameak
А какой по размеру проект?
конкретно луа там чуть-чуть
Anonymous
я бы тогда сразу на 5.4 вставал
usernameak
весь проект по размеру - 200~250 тысяч строк кода
Денис
ОТ математики до sdl2
В любом случае, я солидарен с Александр в том, что просто питону повезло Это плохо в результате, потому что язык медленный как скотина, даром, что красивый. Но тут уж кому повезло, как говорится. Android вон тоже на жаве работает, и ему не хватает уже шести махов, чтобы сутки проработать, в то время, когда Symbian на меньше маха работал неделю.
Anonymous
И тогда не было.
Anonymous
Так и возможности нельзя сопоставить.
Денис
в симбиане был голый натив, но у него была очень устаревшая архитектура
Но никто меня не переубедит, что натив ВМ и интерпретаторы уделывает.
Anonymous
Я конечно бы не отказался от ОС на С / С++. Но как писать приложения то?
Anonymous
Так это всем и так понятно. Только натив писать зачастую больно.
Денис
в симбиане был голый натив, но у него была очень устаревшая архитектура
Какой бы ни был натив. Пусть даже с устаревшей архитектурой
Anonymous
больно одно, дорого другое.
usernameak
Какой бы ни был натив. Пусть даже с устаревшей архитектурой
там вроде даже виртуальной памяти не было и всё работало в одном адресном пространстве, но я не уверен
Денис
Anonymous
Эх. Ладно напишу один проект на Lua, все равно Lua мне больше нравится. Осталось научить дружить Lua с Rust и писать свою STD Гы.
Igor
подводные?
Вообще от конкретного кода зависит, советую посмотреть diff между 5.0 и 5.1, чтобы было понятно, что сломается
Anonymous
Пока мне кажется это лучшая связка. Хоть и чуть медленее будет.
Денис
Я тут кстате накотал своего класса
usernameak
а на арме тогда было только 32 бита
а симбиан кроме x86 и арма не работал вообще нигде
usernameak
и то x86 фактически почти сразу закопали
Денис
На Lua
Денис
а симбиан кроме x86 и арма не работал вообще нигде
Я вообще думал, а не в 16 ли он работает 😀
usernameak
Я вообще думал, а не в 16 ли он работает 😀
в арме не было 16-битного режима :)
Денис
в арме не было 16-битного режима :)
Так я и не знал, что у них был арм. Я думал, у них вообще своя архитектура была
usernameak
у нокии были свои процы с каких-то пор, но ядра были армовые
Денис
В то время, когда симбиан был, я был маленький, пил пиво и писал сайты на РНР с БД на файлах)))
Денис
Единственное, я знал как хакнуть проверку подписи через какого-то антивируса путем запихивания файла взломщика в карантин и последующим его восстановлением прямиком в систему
usernameak
у нокии были свои процы с каких-то пор, но ядра были армовые
смешной штукой была нокия N900 она работала на линуксе с процом от TI... но модемом рулил кастомный проц, из тех что были на каких-то мобилах на симбиане :)
Anonymous
Кстати, про раста потом расскажи что у тебя в итоге получилось.
https://github.com/khvzak/mlua Это у меня точно работало достойно.
Snusmumriken
Не могу согласиться. Я видел как в 2.7 надо было работать с юникодом. Там была почти такая же заморочка, как и у Lua. Попроще стало с третьей версии, очевидно потому, что комьюнити пришло и наваяло.
Самое кошмарное, это когда работяги начинают писать свои библиотеки, и конвертят то, что в >50% случаев является бинарными данными (менеджер загрузок из CEFPython например) в utf8, с автозаменой всего что не влезает в utf8.
Alxius
226к строк на Перле и 70к на Луа
А круто т.е я могу не напрягаться из за 13к строк и писать смело ещё. Зашибись
Alxius
А я то думал тормозить будет
Aqendo
А потом язык инструмент. К молотку нужны гвозди, у луа мало гвоздей.
или как очень прочный и мощный болт который выдерживает под 20 тонн, но отверстие под отвёртку очень необычное и не у каждого такая отвёртка найдется
R
20+M строк на Луа. И это только та часть системы, что видел я сам. Кто больше?
usernameak
Я не видел проекта на Lua в 100к строк. Может есть парочку, а может нет. Но я видел их на других языках.
посмотрел в сервер игры которую я пилю (точнее я пилю клиент, но всё же) 23к строк луа
Денис
Господа, а что делает luac? он просто дампит содержимое файла или там какая-то другая хитрая процедура происходит? Можно ли байткод получить из API?
Денис
Я имею в виду, если писать свою Lua2exe, которая будет без всякого рода извратов типа TCC, чтобы утилита создавала байткод налету и сама по себе, не вызывая luac.exe
Igor
даже не "так же", а вызывает ту же самую апишную функцию lua_dump
Igor
https://www.lua.org/source/5.1/lstrlib.c.html#str_dump
Денис
по факту luac работает так же как string.dump
Вообще, интересно: в luaxx.exe|wluaxx.exe я вижу импортированную luaxx.dll, а вот в luacxx.exe - нет. Не, она возможно туда динамически импортируется, но факт фактом - там она есть, а тут ее нет.
Денис
Мне показалось это весьма странным... если писал их один и тот же разработчик, то парадигма кода должна быть одна и та же, зачем в двух первых случаях импортировать через стандартный импорт, а другой - динамически. Поэтому я вопрос и задал.
Денис
Может наоборот либа статически влинкована в exe? Поэтому и не видишь dll
Так это тоже другая парадигма по сути. Так что, как грицца, "Хрен редьки..." 😃 это ж, как минимум, при сборке надо было указать статическую либу
Inellok
Думаю, луа меньше питона во всех смыслах из-за отсутствия такого пиара, ну и потому что многое приходится делать самому и не в самой явной форме, например ООП. А люди любят ясность и простоту использования, особенно когда дело касается юзеров скриптовых языков
Snusmumriken
В питоне тоже кривой ООП. Хотя получше чем в луа.
Луашный можно сделать примерно как в питоне, с такими же декораторами, адаптерами и прочей ерундой. Но работать будет так же тормознуто как в питоне, и памяти будет жрать так же много ))
Александр
Луашный можно сделать примерно как в питоне, с такими же декораторами, адаптерами и прочей ерундой. Но работать будет так же тормознуто как в питоне, и памяти будет жрать так же много ))
Абсурд. Можно сделать и в питоне и в луа, более того сделать быстро, ибо что эмулируй, что не эмулируй ООП производительность +- такая же. В луа просто приоритет к минимализму и простоте языка, а полноценное ООП потребует соблюдения основных ООП конструкций и идиом как части языка, что повлекло бы и разрастание языка ключевыми словами и реализацию наследования и других ООП вещей.
Snusmumriken
Ничего не мешает сделать основные конструкции и идиомы просто функциями, которые навешивают на класс/объект соответствующую фишку. Прекол.
Snusmumriken
Это во-первых. Во-вторых, когда я на свои слова слышу "абсурд" — очень хочется ответить: "Все ваши ООП — абсурд, единственно верное ООП это смаллтолк и перекидывание сообщеньками между акторами, а не это ваше всё дёрганье методов без разрешения и контекста" ))
Александр
Ничего не мешает сделать основные конструкции и идиомы просто функциями, которые навешивают на класс/объект соответствующую фишку. Прекол.
да, но это костыль :) Собственно никто не запрещает и в Сишке ООП запилить, более того вплоть до конструкторов/деструкторов(если гпушные расширения пользовать)
Александр
Но никто это за полноценное ООП не считает, ибо нет разграничения подходов
Александр
просто одним вещам конструируют возможности других