Snusmumriken
Ага ты наверно и про браузер так думаешь?
Замени движок жаваскрипта и ничего не поменяется. Замени жс и сайты придётся переписывать ))
Igor
И без двигла на Сишке аналогично
Anonymous
неа. В браузере есть 1 важная вещь. Это SKIA остальное могу я сделать и ты можешь и кто угодно
Snusmumriken
У меня стойкое подозрение что ты не вышел из периода "хочу всё оптимизировать". У меня такое было первые года три. А потом неожиданно обнаружилось, что оптимизировать особо ничего и не нужно. А то где нужно — этого хорошо если 5-10% кода, и там можно обойтись максимально короткими и простыми вставками.
Snusmumriken
А ещё вылезают вопросы, из категории "сколько нелагающих ААА игр ты сделал".
Anonymous
Вот тут согласен. Что я не хочу ничего оптимизировать. Я просто хочу сразу писать с типами данных которые мне нужны.
Anonymous
А еще хочу что бы ассеты можно было грузить многопоточно.
Anonymous
Все конец.
Snusmumriken
Так вот. ОПЦИОНАЛЬНОЙ типизации луям не хватает. Спасибо luajit'у и там можно делать foo = 10ULL, правда это будет не число а cdata, и часть стандартных функций на этом крякнет, но можно ещё делать сишные же структурки и сразу заполнять их содержимым строчек. Парсинг не медленнее сишки кста. ОПЦИОНАЛЬНОЙ же типизации для функций тоже не помешает, потому что заёбывает писать function foo(a, b, c) if type(a) ~= 'string' then error("Arg #1 error: string expected, got " .. type(a) , 2) end end Но не более того, и в подавляющем большинстве случаев эти проверки не нужны, только когда ты лепишь что-то публичное, чтобы тебя не трахали "я пихнул сюда число, а оно выдало в твоём коде ошибкуу!1".
Anonymous
В общем тебе нравятся велосипеды? Но я на Lua не собираюсь писать что то больше 5к строк. Может даже 1к. Так что тут мне типы не надо. А вот многопоточный рендер хочу не зависящий от языка.
Snusmumriken
В общем тебе нравятся велосипеды? Но я на Lua не собираюсь писать что то больше 5к строк. Может даже 1к. Так что тут мне типы не надо. А вот многопоточный рендер хочу не зависящий от языка.
> В общем тебе нравятся велосипеды? Симметричный вопрос )) В вопросах НЕ велосипедостроения, типы меньше всего нужны кста. Берёшь юнити и фигачишь.
Snusmumriken
А там они не нужны принципиально и ни на что не влияют.
Anonymous
стоп когда в C# убрали типы...
Snusmumriken
Там вместо шарпа может быть что угодно и ничего не изменится.
Anonymous
:DD ну ну
Snusmumriken
А что изменится?
Anonymous
Если это на CLR то может быть, иначе вся модульность может поехать по....
Snusmumriken
Чел, насрать что там. Если бы юнити была написана с луа вместо шарпа, ничего бы не изменилось.
Snusmumriken
Кстати, напиши транслятор луёв в CLR-байткодец ))
Anonymous
окей...как скажешь.
Snusmumriken
..Из чего делаем закономерный вывод что ты не в курсе что бы изменилось. (ответ: ничего)
Anonymous
ага, как скажешь.
Rider
Alt+255
Igor
Долго очевидные вещи говорить будешь? "Не существовал бы в ТАКОМ ВИДЕ, в каком он есть сейчас" Очевидно, что если язык другой был бы, то и технологии браузерные развивались бы в другую сторону. Потому что JS и Lua - два совершенно разных мира, в которых разный подход к реализации той или иной вещи. Я не говорю, что было бы, если бы прям сейчас людям в голову ударило и они новый двиг скриптовой в браузер сунули и начали поголовно все сайты переписывать с JS на Lua. Я говорю что бы было, если бы Lua ищначально выбрали как таргет, вместо JS. Опуская даже те факты, что JS изначально разрабатывался специально для браузеров.
Anonymous
Долго очевидные вещи говорить будешь? "Не существовал бы в ТАКОМ ВИДЕ, в каком он есть сейчас" Очевидно, что если язык другой был бы, то и технологии браузерные развивались бы в другую сторону. Потому что JS и Lua - два совершенно разных мира, в которых разный подход к реализации той или иной вещи. Я не говорю, что было бы, если бы прям сейчас людям в голову ударило и они новый двиг скриптовой в браузер сунули и начали поголовно все сайты переписывать с JS на Lua. Я говорю что бы было, если бы Lua ищначально выбрали как таргет, вместо JS. Опуская даже те факты, что JS изначально разрабатывался специально для браузеров.
ничего бы не изменилось:D Не поверишь. Фронтэнд пишут на го. сшарп, дарт, питон и.т.д. Кому как удобно, просто доминирует там язык, который захайпили. Гугл хотел сменить js на dart, но не пошло потому что другие не согласились. Слишком много легаси. Но люди уже много чего пытались и пытаются сделать. Что бы избавится от JS. p.s JS это просто ecmascript.
Igor
ничего бы не изменилось:D Не поверишь. Фронтэнд пишут на го. сшарп, дарт, питон и.т.д. Кому как удобно, просто доминирует там язык, который захайпили. Гугл хотел сменить js на dart, но не пошло потому что другие не согласились. Слишком много легаси. Но люди уже много чего пытались и пытаются сделать. Что бы избавится от JS. p.s JS это просто ecmascript.
У меня нет ни желания, ни настроения спорить и что-то доказывать. Тебя всё равно не переубедить, как показала практика. Но всё же чуть-чуть попробую. На чем-то другом писать фронтенд помогает WASM. А с WASMом ты через что общаешься? Не уж то это не JS? Не поверишь!))) Когда в браузеры встроят интерпретатор какого-то другого ЯП и его начнут использовать активно, вот тогда и поговорим. Но вот тебе спойлер: этого не произойдёт. В ближайшее десятилетие уж точно. Ну и я уже молчу про всякие фундаментальные разности в JS и Lua, которые в теории могли бы оттолкнуть от веб-разработки ключевых пацанов, которые всё таки написали библиотеки, которые сейчас существуют и их используют миллионы сайтов.
Anonymous
У меня нет ни желания, ни настроения спорить и что-то доказывать. Тебя всё равно не переубедить, как показала практика. Но всё же чуть-чуть попробую. На чем-то другом писать фронтенд помогает WASM. А с WASMом ты через что общаешься? Не уж то это не JS? Не поверишь!))) Когда в браузеры встроят интерпретатор какого-то другого ЯП и его начнут использовать активно, вот тогда и поговорим. Но вот тебе спойлер: этого не произойдёт. В ближайшее десятилетие уж точно. Ну и я уже молчу про всякие фундаментальные разности в JS и Lua, которые в теории могли бы оттолкнуть от веб-разработки ключевых пацанов, которые всё таки написали библиотеки, которые сейчас существуют и их используют миллионы сайтов.
я повторюсь. V8 vm или другая JS / Ecmscript vm не имеет особо каких то фич. Делай что хочешь. 10 лет назад js использовали только как клей и все были счастливы. Потом бизнес сказал, дорого рендерить все на сервере, давайте запилим рендер на стороне клиента. Инструментов не было и построили ее на JS. Ты говорил что он не существовал бы в таком виде, но это не так. Не важен язык программирования, пока он удовлетворяет требованиям. Любой язык с JS подобной VM мог быть на его месте. Не только wasm простая интерпретация в JS. Как любой другой язык во что то интерпретируется в конечном счете (на той или иной стадии). Ты говоришь что мы бы получили что то другое...из за того что был другой язык. Но за 14+ лет ничего особо кроме фич браузера и технологий в мире фронтенда нет. Там просто появились новые инструменты. В сравнении с тем как апнулись другие технологии. Я же говорю (сейчас внимательно). JS на стороне клиента делает так мало, что порой вы пишите простой платформер и делайте намного больше. Управлять DOM не важно чем. Писать тривиальную логику, не важно на чем. JS это просто верхушка айсберга. Если ее поменять вы сможете делать тоже самое. Следовательно все было бы +- так же. JS плотно занял нише гадкого утенка, который из за легаси нужен. Но на нем писать очень неприятно, больно. Привет TypeScript, Elm, CoffeeScript ect.. Все это используют в проде. ИМХО js главная ошибка в вебе. И да много у каких языков есть фановые языки, но мало языков которые претендуют на роль предка. Серьезных примера только 2, JS и Java. У обоих полно легаси и обоим тяжело двигаться вперед. Один взлетел потому что не было альтернатив, другой потому что всем надоело писать на С++ (условно). Внимание вопрос. На backend куча языков, это мешает или помогает? В embeded много решений которые решают похожую проблему. Есть несколько вариантов что можно встроить. Кстате там и JS есть. Но в вебе у нас 1 язык, который скорее мешает развиваться и это похоже на вечную яму. Три парадигмы. Статичный сайт, динамический на стороне сервера, динамический на стороне клиента. Уперлись в это давно и кажется навсегда. Причем история циклична. В начале был первый тип, потом он вернулся, но с некоторой доработкой. А что если 90% контента будет сгенерировано. А 10 % JS и микросервисы. Опять же мне всегда интересна экосистема языка. NPM / Yarn ect...там даже нормальный единый менеджер так и не сделали. Каждый раз переделывают одно и тоже. Каждый раз придумывают что то заново. Каждый раз пытаются победить болячки JS. Мир веба был бы +- таким же. Три парадигмы создания сайта. Вопрос в том, что с экосистемой? Она была бы лучше или хуже. Язык был бы удобнее или нет? и.т.д. И да в мире программирования нет понятия что то могло бы оттолкнуть. У тебя есть цель и задача. Ты стартап, бизнес, энтузиаст и.т.д. Главный тут бизнес. Бизнес смотрит, ага это проверенная штука. Работает. Берем ее. Нет специалиста? Наймем. Спрос рождает предложение. Правда думаете что людям нравится C# по этому они вбирают юнити? Скорее потому что альтернатив пойти работать мало. Правда думаете что учат JS потому что любят язык? и.т.д. Конечно есть те кто любит, но большинство людей думают так. Надо заработать, на чем не важно. Это работа и с каждым годом энтузиастов все меньше и им все сложнее.Так почти в любой сфере. Только в других сферах у нас в 99% случаев есть вариант инструментов. В случае браузера его нет или он крайне мал и все равно зависит от JS который часто мешает. Особенно с обратной совместимостью, зависимостями и.т.д.
Anonymous
gopher-js, blazor, dart/flutter у python тоже есть свой фреймворк. Все этот я встречал в проде. На разном уровне, от заглушки до +- серьезных сайтов или сервисов. Мотивация чаще такая. У нас нет времени / сил /денег еще бороться с экосистемой JS. Давайте сделаем на том, что знает наша команда.
Anonymous
И JS это просто ecmascript и это просто VM написанная на С/ C++/ Rust / Go зависит от реализации. То есть такой же нормальный подход. Потому что альтернатив нет, но надо что то придумать. Но какая разница? Вариантов все равно нет и не будет. Увы. Я ушел из мира веба потому что устал от этих гонок с людьми. Которые каждый год изобретают по 10 велосипедов, потому что просто и потому что поможет. Но потом приходится помочь и еще и еще и еще и конца и края нет.
Anonymous
на ecmascript строится JS, можно построить другой язык если он буде удовлетворять ему. Есть отдельные VM только для ecmascript.
Anonymous
+- так. Только ecmascript это именно язык. У jvm все таки байткод. Думаю все таки аналогия верна.
Anonymous
Согласен с идеей GNU. Жаль их альтернативами пользоваться тяжко..
Igor
я повторюсь. V8 vm или другая JS / Ecmscript vm не имеет особо каких то фич. Делай что хочешь. 10 лет назад js использовали только как клей и все были счастливы. Потом бизнес сказал, дорого рендерить все на сервере, давайте запилим рендер на стороне клиента. Инструментов не было и построили ее на JS. Ты говорил что он не существовал бы в таком виде, но это не так. Не важен язык программирования, пока он удовлетворяет требованиям. Любой язык с JS подобной VM мог быть на его месте. Не только wasm простая интерпретация в JS. Как любой другой язык во что то интерпретируется в конечном счете (на той или иной стадии). Ты говоришь что мы бы получили что то другое...из за того что был другой язык. Но за 14+ лет ничего особо кроме фич браузера и технологий в мире фронтенда нет. Там просто появились новые инструменты. В сравнении с тем как апнулись другие технологии. Я же говорю (сейчас внимательно). JS на стороне клиента делает так мало, что порой вы пишите простой платформер и делайте намного больше. Управлять DOM не важно чем. Писать тривиальную логику, не важно на чем. JS это просто верхушка айсберга. Если ее поменять вы сможете делать тоже самое. Следовательно все было бы +- так же. JS плотно занял нише гадкого утенка, который из за легаси нужен. Но на нем писать очень неприятно, больно. Привет TypeScript, Elm, CoffeeScript ect.. Все это используют в проде. ИМХО js главная ошибка в вебе. И да много у каких языков есть фановые языки, но мало языков которые претендуют на роль предка. Серьезных примера только 2, JS и Java. У обоих полно легаси и обоим тяжело двигаться вперед. Один взлетел потому что не было альтернатив, другой потому что всем надоело писать на С++ (условно). Внимание вопрос. На backend куча языков, это мешает или помогает? В embeded много решений которые решают похожую проблему. Есть несколько вариантов что можно встроить. Кстате там и JS есть. Но в вебе у нас 1 язык, который скорее мешает развиваться и это похоже на вечную яму. Три парадигмы. Статичный сайт, динамический на стороне сервера, динамический на стороне клиента. Уперлись в это давно и кажется навсегда. Причем история циклична. В начале был первый тип, потом он вернулся, но с некоторой доработкой. А что если 90% контента будет сгенерировано. А 10 % JS и микросервисы. Опять же мне всегда интересна экосистема языка. NPM / Yarn ect...там даже нормальный единый менеджер так и не сделали. Каждый раз переделывают одно и тоже. Каждый раз придумывают что то заново. Каждый раз пытаются победить болячки JS. Мир веба был бы +- таким же. Три парадигмы создания сайта. Вопрос в том, что с экосистемой? Она была бы лучше или хуже. Язык был бы удобнее или нет? и.т.д. И да в мире программирования нет понятия что то могло бы оттолкнуть. У тебя есть цель и задача. Ты стартап, бизнес, энтузиаст и.т.д. Главный тут бизнес. Бизнес смотрит, ага это проверенная штука. Работает. Берем ее. Нет специалиста? Наймем. Спрос рождает предложение. Правда думаете что людям нравится C# по этому они вбирают юнити? Скорее потому что альтернатив пойти работать мало. Правда думаете что учат JS потому что любят язык? и.т.д. Конечно есть те кто любит, но большинство людей думают так. Надо заработать, на чем не важно. Это работа и с каждым годом энтузиастов все меньше и им все сложнее.Так почти в любой сфере. Только в других сферах у нас в 99% случаев есть вариант инструментов. В случае браузера его нет или он крайне мал и все равно зависит от JS который часто мешает. Особенно с обратной совместимостью, зависимостями и.т.д.
На весь длиннотекст отвечать как-то лень, да и почти всё по фактам, конечно. Я не понял вот смысла примера с Unity. Ну во первых там есть альтернативы шарпу, если я помню правильно, там и C++ интерфейс есть, а во вторых мир движков довольно разнообразен и таки да, юнити используют те, кому он удовлетворяет по хотелкам и необходимому функционалу.
Anonymous
На весь длиннотекст отвечать как-то лень, да и почти всё по фактам, конечно. Я не понял вот смысла примера с Unity. Ну во первых там есть альтернативы шарпу, если я помню правильно, там и C++ интерфейс есть, а во вторых мир движков довольно разнообразен и таки да, юнити используют те, кому он удовлетворяет по хотелкам и необходимому функционалу.
Смысл примера в том. По сути сейчас в мире есть 1 движек который удовлетворяет всем хотелкам. Точнее он очень сильно доминирует, это как с JS в вебе. Я не хейтер C# хотя есть там узкие места. Но я хейтер юнити, у меня для этого свои причины. Когда есть какая то сильно доминирующая технология, другим тяжело. В них меньше вкладывают сил и времени. Что способствует тому, что альтернативе тяжело развиваться. И вот когда ты хочешь попасть в геймдев, но ты не знаешь С++ отлично и у тебя нет куче практики в современных технологиях.Выбор куда пойти работать ведет в 90% к юнити. Что оказывает некую деградацию на все инди (мое личное мнение). С другой стороны. Я прекрасно понимаю что С# тут не причем и в случае юнити, хоть когда то и был вариант c JS. То сейчас альтернативы просто нет. Одно из главных звеньев там CLR. То есть конечно с точки зрения декомпиляции это полный отстой. Но благодаря c# там очень простая и удобная плагинация. То есть имея только C# мы можем сделать плагин для игры. Это будет хорошо по перфомансу и не будет головной боли от С++ компиляторов. Например с Lua мы так не можем сделать. У нас или мы должны компилировать нативный плагин с тем же компилятором или использовать Lua. LuaJit ffi не панацея. Благодаря CLR мы можем использовать и другие языки... В общем там есть свои интересные вещи. Другое дело что да....Unity как мне кажется. Далеко не инди идеал, но инди вцепилось и не отпускает. Соори опять длиннопост.
Aqendo
+
Nikolai
Смысл примера в том. По сути сейчас в мире есть 1 движек который удовлетворяет всем хотелкам. Точнее он очень сильно доминирует, это как с JS в вебе. Я не хейтер C# хотя есть там узкие места. Но я хейтер юнити, у меня для этого свои причины. Когда есть какая то сильно доминирующая технология, другим тяжело. В них меньше вкладывают сил и времени. Что способствует тому, что альтернативе тяжело развиваться. И вот когда ты хочешь попасть в геймдев, но ты не знаешь С++ отлично и у тебя нет куче практики в современных технологиях.Выбор куда пойти работать ведет в 90% к юнити. Что оказывает некую деградацию на все инди (мое личное мнение). С другой стороны. Я прекрасно понимаю что С# тут не причем и в случае юнити, хоть когда то и был вариант c JS. То сейчас альтернативы просто нет. Одно из главных звеньев там CLR. То есть конечно с точки зрения декомпиляции это полный отстой. Но благодаря c# там очень простая и удобная плагинация. То есть имея только C# мы можем сделать плагин для игры. Это будет хорошо по перфомансу и не будет головной боли от С++ компиляторов. Например с Lua мы так не можем сделать. У нас или мы должны компилировать нативный плагин с тем же компилятором или использовать Lua. LuaJit ffi не панацея. Благодаря CLR мы можем использовать и другие языки... В общем там есть свои интересные вещи. Другое дело что да....Unity как мне кажется. Далеко не инди идеал, но инди вцепилось и не отпускает. Соори опять длиннопост.
А воз и ныне там
Aqendo
Я тут штучку одну сделал
Aqendo
.evallua for i=0,10 do print(i) end
Aqendo
Evaluating : for i=0,10 do print(i) end Interpreter output : 0 1 2 3 4 5 6 7 8 9 10
Aqendo
Надо юзербота ставить себе
Aqendo
Модуль для луа для юзербота
Aqendo
friendly-telegram.gitlab.io Если хочешь, поставь
Aqendo
Ну я на всякий сказал
Aqendo
Этот бот тоже на питоне написан
Aqendo
Ага
Aqendo
Да вот впринципе и весь то код
Aqendo
Знаю, клёвый бот
Aqendo
Там сайт у него ещё есть
Aqendo
Ага
Domka
здраствуйте
Domka
у меня чичас горит идея доделать бота
Domka
и единственная проблема это задержка отправки сигнала
Aqendo
Evaluating : ffi = require "ffi" ffi.cdef[[ int printf(const char *fmt, ...); ]] a = "one" ffi.C.printf("Number is %s", a) Interpreter output : Number is one
Aqendo
Поддержка luajit :D
Arslan
Arslan
Хмм
Snusmumriken
Evaluating : ffi = require "ffi" ffi.cdef[[ int printf(const char *fmt, ...); ]] a = "one" ffi.C.printf("Number is %s", a) Interpreter output : Number is one
Вот у этого есть набор подводных камней, если выпускать в пользовательское пространство. Например, никто не мешает хацкеру забить ВМку кучей колбеков чем парализовать её, или подключить системных либ и чего-то сломать. Оно должно быть запущено как минимум в докере.
Aqendo
Вот у этого есть набор подводных камней, если выпускать в пользовательское пространство. Например, никто не мешает хацкеру забить ВМку кучей колбеков чем парализовать её, или подключить системных либ и чего-то сломать. Оно должно быть запущено как минимум в докере.
Так это же не бот которым все могут пользоваться, тут юзер к себе на сервер устанавливает этого бота и следовательно на свой аккаунт, сам отвечает за этого бота и смысла ломать себе же сервер ему нет.
Snusmumriken
Если так то нормась )
Aqendo
На самом деле этих ботов хоть "одним местом" жуй, https://github.com/hikariatama/hikka https://gitlab.com/friendly-telegram @geektgchat Разные есть, почти одинаковый функционал и почти всё - форки оригинала(friendly-telegram)
Aqendo
Я нашел брата снуса :D
Snusmumriken
Не думаю
Nikolai
Не думаю
Но ведь аватарка... Как же так?
Snusmumriken
Ну и чего?
Snusmumriken
Снусмумрик — книжный персонаж, ясен красен что его используют в хвост и в гриву все кому не лень.
Snusmumriken
Это и хорошо и не очень )
Nikolai
Нужно в придачу к авторскому праву заводить аватарковское
Anonymous
Лучшие аватарское право это создать свою картинку. И вуаля вы под защитой авторского права :D
Snusmumriken
Эта сделана одним челибосом, и она глубоко символизирует глубину болота в котором я сижу и не делаю игоры
🇺🇦daSXam🏴󠁧󠁢󠁳󠁣󠁴󠁿
Snusmumriken
(на самом деле с эмуляторами но встроенными в ос прост)
sashikknox
(на самом деле с эмуляторами но встроенными в ос прост)
по моему, как раз прикол андбокса в том что андройд там запускается так же как и на андройд устройстве, т.е. железо там не эмулируется ,а предоставляется к нему дсотуп, отсюда видеоускорение, которого так не хваттате в эмуляторах.... андбокс в lxc контейнере вроде живет... я например SailfishOS пользуюсь ,там в lxc запускается aliendalvik,проприетарная тулзка для работы с андройд приложениями на сейлфише, там все летает прсото, с аппаратным ускорениеМ, и игры в том чилсе идут без проблем
sashikknox
Прекол в том, что такое возможно только если это "чисто жава приложение", без "нативных арм либ". Ну не запустишь ты arm-код на x86-цпу напрямую, ну никак.
это да, но у андройда и X86 есть так то... и приложения под x86 есть... и описаный мной выше случай конечно дургой немного , у меня сейлфиш то на арме. там все нативненько ...
sashikknox
Прекол в том, что такое возможно только если это "чисто жава приложение", без "нативных арм либ". Ну не запустишь ты arm-код на x86-цпу напрямую, ну никак.
поэтому пора уже выпускать гибритные процы, в которых будут arm ядра, как раз юля запуска бещ жмуляции arm приложений...
sashikknox
поэтому пора уже выпускать гибритные процы, в которых будут arm ядра, как раз юля запуска бещ жмуляции arm приложений...
у меня кстати такой андройд телефон есть, на атоме, он обе архитектуры поддерживает, и x86 и arm
Snusmumriken