Pull to refresh

Comments 21

UFO just landed and posted this here

Каждому мнению быть ) хотя с аргументированным мнением спорить проще. Подвинуть - всегда пожалуйста, приходи на собес

Я хоть и не Cpp джедай, но, тем не менее, прочитал статью с интересом. Не обращайте внимания на такие вот скользкие комментарии. Как вы правильно сказали, там даже аргументации толковой нет. Специалист себя так не ведет. А вы - большой молодец! QuickJS, кстати, использует редактор Figma (скомпилированный в WASM) для своей плагин-системы.

UFO just landed and posted this here

Если у в коде появляются комментарии не по делу (если это не описание БЛ, алгоритма, *doc), то код немного пованивает, если хотите написать комментарий куда-то, значит надо извлечь функцию и правильно ее обозвать

UFO just landed and posted this here
UFO just landed and posted this here

Отвечу на все разом.

Отсутствие, ровно как и избыток комментариев - признак плохого кода. Я стараюсь держаться посередине. Но здесь и правда комментарии были бы полезны

Блок схема полезна, но не всегда необходима. Здесь нет такой запутанности сущностей чтобы рисовать блок схему. По сути там будет меньше пяти блоков

Абстрактное натягивание js на с++ - это скорее понятно тем кто работает в мобильном геймдеве, кто мучается с С++ и знает какие плюсы несет скриптовый язык. И было бы неплохо больше расписать в статье о мотивации зачем я это делаю, для большего круга людей. Может быть в будущем напишу статейку об использовании в движке и какие плюшки от этого получаю

UFO just landed and posted this here

да не очень и тяжелый, https://mujs.com/
их vm занимает примерно 145кб рантайма, сделан специально под ембед платформы
все плюшки js в наличии

Кажется js движков гораздо больше чем я думал... Хоть и не так просто все их нагуглить. Спасибо за вариант, почитаю доки

Интересный интерпретер JS. Сделан на C, и реализует последнюю спецификацию Ecmascript. Как вы узнали о MuJS?

переделывал пару проектов для IoT, где "умные" индусы (реально индусы) затащили v8 в железо с 8mb ram, оно там жило примерно 2-3 часа и умирало на номем. А использовали железку для опроса датчиков движения в помещении. Походил по форумам нашел mujs, понравилось

Еще можно взять Qt в котором QJSEngine из коробки. Единственный критичный для меня минус - они пока так и не сделали возможность прикрутить свою отладку, хотя такая была в давно устаревшем QtScript.

QML, QT Widgets, QJSEngine – все это QT и их ужасная ценовая политика. У JS есть самая-самая киллерфича – npm. Есть много минусов (тянешь миллиард зависимостей), но они перекрываются скоростью разработки.

Valve, например, написали Panorama как раз на JS и радуются скорости и легкости написания UI.

В js нет перегрузки операторов и эти все dir.Add(a).Mul(new Vec2(2, 2)) быстро надоедают... вместо (dir + a) * 2 как в тех же плюсах. Нет?

Все так, самая бесячая фича (точнее ее отсутствие) в JS

Кажется, вы все свойства и методы объекта регистрируете как свойства экземпляра. Это довольно просто, но неэффективно, особенно по памяти. Куда лучше зарегистрировать их все как свойства и методы прототипа.


Из недостатков — придётся написать чуть больше логики для передачи this через все обёртки, а также надо будет проверять на 0 результаты всех dynamic_cast.

Да, тоже думал об этом. Поизучаю в будущем, попробую оптимизировать. Спасибо!

Однако, есть один минус — он плохо показывает содержимое объектов. Точнее, он их не показывает, пишет просто [object] и все. Кажется, авторы jerry здесь как-то поленились и не довели передачу информации до конца. Что ж, не страшно, добавим сами!

А вам в итоге удалось починить отладку?

Нет, еще не добрался

Sign up to leave a comment.

Articles