The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Основатель QEMU и FFmpeg опубликовал JavaScript-движок Micro QuickJS

23.12.2025 22:02

Французский математик Фабрис Беллар (Fabrice Bellard), основавший в своё время проекты QEMU, FFmpeg, BPG, QuickJS, TinyGL и TinyCC, опубликовал новый JavaScript-движок для встраиваемых систем - Micro QuickJS, способный компилировать и выполнять JavaScript-программы, потребляя всего 10 КБ ОЗУ. Вместе с Си-библиотекой движок занимает примерно 100 КБ постоянной памяти. Возможна компиляция JavaScript в байткод и отдельный запуск байткода. Код проекта написан на языке Си и распространяется под лицензией MIT.

Движок поддерживает подмножество языка JavaScript, близкое к спецификации ECMAScript 5 (ES2019) и поддерживающее только режим "strict", предъявляющий более строгие требования к коду и не допускающий использования некоторых неэффективных или приводящих к ошибкам JavaScript-конструкций. Например, глобальные переменные обязательно должны объявляться через ключевое слово "var", запрещено использование "with", массивы не могут иметь пустоты, невозможна инициализация при объявлении вида "new Number(1)", из eval невозможен доступ к локальным переменным.

Производительность Micro QuickJS близка к движку QuickJS, развиваемому Фабрисом c 2019 года. В Micro QuickJS задействована часть кода из движка QuickJS, но архитектура во многом отличается и спроектирована для минимального потребления памяти. Например, в Micro QuickJS задействован трассирующий сборщик мусора, в то время как в QuickJS использован подсчёт ссылок. Накладные расходы сборщика мусора составляют всего несколько бит на каждый выделенный блок памяти. Для выделения памяти используется собственный аллокатор, не зависящий от библиотечной функции malloc().

Другие отличия от QuickJS: не использующая стек виртуальная машина; иное внутреннее представление объектов; хранение строк в кодировке UTF-8; генерация стандартной библиотеки во время компиляции и её хранение в постоянной памяти с созданием в ОЗУ всего нескольких объектов; близкий к QuickJS, но не использующий рекурсию, парсер; совмещение в одном проходе генерации байткода и оптимизации (в QuickJS имеется несколько проходов для оптимизации).

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Основатель QEMU и FFmpeg опубликовал звуковой кодек TSAC
  3. OpenNews: Новая версия встраиваемого JavaScript-движка от основателя QEMU и FFmpeg
  4. OpenNews: Основатель QEMU и FFmpeg опубликовал JavaScript-движок QuickJS
  5. OpenNews: Создатель QEMU и FFmpeg предложил новый формат изображений BPG
  6. OpenNews: Основатель QEMU и FFmpeg развивает систему синхронизации файлов VFsync
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64483-quickjs
Ключевые слова: quickjs, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (92) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:27, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Самое весёлое, это когда JSеры пробуют движки типа QuickJS после того, как всю жизнь сидели на V8 и т.д., и ох*евают от того, насколько это неоптимизированный медленный язык без миллиардов инвестиций V8.
     
     
  • 2.4, Кошкажена (?), 22:35, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    У него есть продолжение https://github.com/quickjs-ng/quickjs и какой-то jit https://github.com/bnoordhuis/quickjit

    Для задач типа разборка жс в yt-dlp самое то. v8 ради такой задачи тащить это слишком.

     
     
  • 3.12, Аноним (12), 23:24, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >Для задач типа разборка жс в yt-dlp самое то

    ну конечно если ты готов полчаса ждать пока код прожуёт

     
     
  • 4.36, Кошкажена (?), 00:39, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>Для задач типа разборка жс в yt-dlp самое то
    > ну конечно если ты готов полчаса ждать пока код прожуёт

    В yt-dlp была интерпретация js на питоне раньше. В новой версии из-за закручивания гаек Гуглом ее уже не хватает.

     
     
  • 5.62, Аноним (12), 08:01, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это была не интерпретация. Там просто обфусцированный код. Уже пробовали сабж вместо в8 и как раз полчаса и потребовалось.
     
  • 2.16, Аноним (16), 23:51, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Самое весёлое, это когда JSеры пробуют движки типа QuickJS

    JSеры об этих QuickJS и прочем даже и не слышали, лол. Серьезный JS пишется под реальные браузеры и Ноду, а не вот эти вот поделки.

     
     
  • 3.18, Аноним (18), 23:56, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    серьёзный и JS это не совместимые слова
     
     
  • 4.20, Аноним (16), 00:15, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > серьёзный и JS это не совместимые слова

    Да, серьезные программисты сайты Си кодят.

     
     
  • 5.41, Oe (?), 01:41, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Cерьезные программисты кодят под аппстор и плеймаркет
     
     
  • 6.42, Аноним (42), 01:45, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Серьезные программы типа тапай хомяка?
     
     
  • 7.53, Сирешётка (?), 05:03, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пожалуйста продолжайте, у меня попкорн ещё не кончился...
     
  • 7.68, нах.. (?), 08:50, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В том числе. А серьезные музыканты поют про цвет настроения синий. Так работает индустрия. Но понимание этого приходит гораздо позже полового созревания, так что до тебя пока не дойдет.
     
  • 2.27, morphe (?), 00:24, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогично с java, когда и без того кривой escape analysis вдруг пропадёт
     
  • 2.65, Аноним83 (?), 08:37, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так а зачем!?

    Тот же LUA отличный язык для бизнесслогики.
    И применение этого JS тоже примерно для того же.
    А если надо данные жевать - пилим биндинг на С и пихаем их в него.

    В общем со времён Visual Basic ничего и не поменялось.

     

  • 1.2, Аноним (2), 22:28, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Подмножество-убожество. Добавлять встраиваемый язык только для парсинга какого-нить конфига - очень паршивая концепция.
     
     
  • 2.6, _kp (ok), 22:52, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это зависит от того, с какой нагрузкой и скоростью хочется "парсить".
    Часто нужен просто какой то простой скриптовый язык в дополнение к основному ПО.
    И требуется например вовсе не скорость, а стабильность и отсутствие зависимостей.
    Что протестировал, то только именно то и работает.
    А столь компактные варианты интересны во встраиваемой технике.
     
     
  • 3.9, Витюшка (?), 23:08, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда и lua подойдёт. И nushell.
     
     
  • 4.13, _kp (ok), 23:26, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, lua и использую. Хотя, мне больше JS по душе.  


     
  • 4.19, Аноним (19), 00:04, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    когдато давно прикрутил луа к своему проекту, задача - получить из конфига строку "2 + 3", посчитать и вернуть int, с потенциальным расширением впоследствии прочитать циферку из http... по итогу оказалось проще заменить луа на js, чем пердолится с этой луой и хттр к ней прикручивать
     
     
  • 5.39, Ns rkjey (?), 01:17, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Skill issue, Lua встраивается элементарно.
     
     
  • 6.72, Жироватт (ok), 09:13, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там ниасилено было ххп в луа.
     
  • 4.64, Tron is Whistling (?), 08:07, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    lua для конченого юзера слегка это, детеррент.
    А вот на жс уже даже домохозяйки три строчки умеют.
     
  • 3.67, Аноним83 (?), 08:50, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот насчёт стабильности и зависимостей с JS не очень то понятно.
    В том плане что есть LUA, она одна и ей много лет, она маленькая и легко встраивается.
    И есть вот эти разные JS движки.

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

     
  • 2.11, Аноним (11), 23:15, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, не знал об этом. Буду иметь в виду при разработке своих решений.
     
  • 2.25, Аноним (16), 00:21, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Добавлять встраиваемый язык только для парсинга какого-нить конфига

    В смысле "только"? По-твоему, других задач у скриптовых языков, кроме парсинга конфига, не существует?

    И зачем вообще тебе целый встраиваемый язык для парсинга конфига, лол?

     
     
  • 3.51, минона (?), 04:02, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Конфиги бывают разные. Например, конфиги емакса.
     
     
  • 4.73, Жироватт (ok), 09:14, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Такой конфиг лисп-машина самого эмакса без раздумий суёт в eval(...)
     
  • 3.66, Аноним83 (?), 08:46, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в такой конфиг можно засунуть зависимые параметры, или какую то логику типа чтения файлов.
    Так же можно описывать иерархию объектов и сами объекты.

    Конечно можно объекты и в ini описать, но будет это не очень - как regedit делает.
    А кроме останется xml, json - они тоже не оч.

     
     
  • 4.74, Жироватт (ok), 09:16, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Хранить в конфигах что-то сложнее key-value, причем value - примитивного типа
    > Не хранить сложные объекты и описания иерархий в сериализованном виде

    Батенька, а вы знаете толк в извращениях

     
  • 2.84, Соль земли2 (?), 10:07, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Есть же yacc/flex для парсинга. Почему их забросили, интересно.
     

  • 1.3, Аноним (3), 22:28, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная новость! Его можно собрать в wasm модуль, чтоб выполнять js из wasm рантайма вне браузера
     
  • 1.5, Кошкажена (?), 22:38, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Он бесспорно молодец. Но файл quickjs.c в 55 тыс строк как-то не очень. Можно же было разбить.
     
     
  • 2.8, _kp (ok), 22:54, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Вы там вручную покопаться собираетесь?
    А если с ИИ править и изучать, то в одном файле нормально.
     
     
  • 3.17, Аноним (17), 23:54, 23/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если нужна встраивоемость и сохранение ресурсов то нужна и модульность. Может мне вовсе ненужна поддержка строковых данных в utf или ещё какая-то модная фигня если я только мигаю светодиодами.
     
     
  • 4.21, Аноним (12), 00:17, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, а на что ты заменишь utf, на UCS‑2?
     
     
  • 5.34, Аноним (34), 00:38, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем их использовать если я ничего никуда не пишу и текст не вывожу? Байткоду кодировка ненужна.
     
     
  • 6.63, Аноним (12), 08:02, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А зачем их использовать если я ничего никуда не пишу и текст
    > не вывожу? Байткоду кодировка ненужна.

    Ну, значит, тебе и жс ник чему.

     
  • 4.43, _kp (ok), 01:50, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хмм..
    Да, именно для встраиваемых систем интересна генерация экземпляра "только под конкретные нужды".

     
     
  • 5.75, Жироватт (ok), 09:18, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для встраиваемых систем есть вохможность условной компиляции - хоть из одного файла, хоть из трёх, хоть из 33х
     
  • 2.22, premium user (?), 00:17, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > 55 тыс строк

    Для профессионала это не проблема.

     
     
  • 3.31, Аноним (16), 00:31, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >> 55 тыс строк
    > Для профессионала это не проблема.

    "Не проблема" это только для гордых писателей в одно лицо, типа автора сабжа. А вот именно в профессиональной среде тебе бы коллеги сразу по шапке дали за такое.

     
     
  • 4.35, Аноним (34), 00:39, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Профессионально попроси нейросеть разбить на файлы.  
     
  • 4.38, Аноним (38), 01:10, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что вы хорошего написали в этой среде? По шапке они друг другу дают))
     
  • 4.44, _kp (ok), 01:58, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Такие "портянки" раньше точно делать было не хорошо. С ними тупо тормозили редакторы, и тем более с фоновой компиляцией.

    Сейчас такие "портянки" не уже не является проблемой.
    Я не говорю, что так хорошо, или удобно, при разборе с ИИ инструментом, а именно то, это сейчас это не уже важно, ибо в простых редакторах профессионалы с этим копаться все равно не станут.

    Ps: скачал, и уже балуюсь.

     
  • 4.48, premium user (?), 03:13, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дурову дай по шапке, он наверно не шарит в этом вашем айти) 75к строк:
    https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/
     
     
  • 5.49, Аноним (49), 03:20, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так Телеграм не микросервис, а громадная программа
     
  • 5.58, Буратино (?), 07:25, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это ты не шаришь раз приводишь такой пример (либо сознательно передёргиваешь).
    В этом файле тупейшая портянка сериализации (возможно, что вообще автоматически сгенерированная).
    Максимально линейный код с минимумом бизнес-логики.

    А вот за 75к строк б.-л. дадут по шапке практически везде.

     
  • 3.40, чтд (?), 01:19, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    согласный. про к такому и близко не подойдёт.
     

  • 1.10, Аноним (10), 23:14, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Эпичный чел
     
     
  • 2.23, Аноним (16), 00:18, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Эпичный чел

    Ничего эпичного - обычные страдания фигней мужика без семьи и детей.

     
     
  • 3.26, Аноним (26), 00:23, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Но тот что он делает (и сделал до этого) намного круче и сложнее, чем детей делать.
     
     
  • 4.30, Аноним (16), 00:29, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –10 +/
    > Но тот что он делает (и сделал до этого) намного круче и сложнее, чем детей делать.

    Ну да, делать все, чтобы твоему роду пришел конец - это очень круто.

    Ну, если только "делать" детей - да, наверное, сложнее. А вот вырастить потом этих детей достойно - это сори, посложнее, чем сутулиться годами за железкой.

     
     
  • 5.81, пох. (?), 09:49, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    извини, но с этим как раз справляется любая мартышка.

    И дети у них как-то до половозрелого возраста дорастают без особых ухищрений.

     
  • 5.93, Аноним (93), 10:45, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну да, делать все, чтобы твоему роду пришел конец - это очень круто.

    Любой вид рано или поздно вымрет, регуляция численности заложена природой, любые попытки её изменить - нарушат баланс еще в более худшую сторону (что зайцы в австралии, что воробьи в китае).

    Мы можем это лишь принять как факт.

    Тем более что те, кто так привержен к js, должны быть стерилизованы, как тупиковая ветвь эволюции.

     
  • 4.33, Аноним (33), 00:36, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Но тот что он делает (и сделал до этого) намного круче и сложнее, чем детей делать.

    Делать не сложно. А вот воспитать нормальное, дать хорошее образование и нормальный старт в жизни - это сложно. И намного круче и полезнее чем движок для огрызка JS.

     
     
  • 5.52, Аноним (52), 04:13, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    То наследие, которое он после себя оставит в двести тысяч раз важнее для человечества, чем твои никому невсравшиеся дети.
    Теми вещами, что он создает и уже создал, люди будут пользоваться десятилетиями после его смерти.
    А ты, когда помрешь, останешься полным нонеймом, никто о тебе никогда не вспомнит.
     
     
  • 6.69, нах.. (?), 09:00, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и что? Я лично выберу детей, отпуск на мальдивах и красивую тетю с большими талантами, чем важность для человечества. Зачем страдать за человечество, если можно не страдать лол?)
     
     
  • 7.70, Аноним (70), 09:10, 24/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 7.85, Крысюк (?), 10:08, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ты уверен что тебя выберет тетя "с большими талантами" и Мальдивы? :D
    Вот чего-то думаю что Беллара такая тетя вполне может выбрать, в отличие от нонейм-флудера с Опеннета :)
     
     
  • 8.87, нах.. (?), 10:21, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У меня уже все это есть, мне немало лет и я целенаправленно к этому шел Да вряд... текст свёрнут, показать
     
  • 7.94, Аноним (93), 10:47, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Я лично выберу детей

    Один такой уже довыбирал себе и остров и детей. Так себе концовка, вероятно даже сымитированная. А должно было быть хуже.

     
  • 4.46, Джон Титор (ok), 02:43, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >> Но тот что он делает (и сделал до этого) намного круче и сложнее, чем детей делать.

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

     
  • 3.28, Аноним (26), 00:24, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но то что он делает (и сделал до этого) намного круче и сложнее, чем детей делать.
     
  • 3.47, Джон Титор (ok), 03:05, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Ничего эпичного - обычные страдания фигней мужика без семьи и детей.

    Потратил целые 30 минут на изучение кода - реально хрень какая-то. На ноде можно сделать больше, да и вызов с кода или наоборот js кода там давно уже не проблема. Посмотрел в интернете информацию о его семье - тайна за 7 печатями, ничего нет. Не исключено что семьи у него нет, но на самом деле это не факт. Более интересный вопрос экономический - как он живёт так что у него есть средства и возможность страдать такой хренью?

     
     
  • 4.60, Буратино (?), 07:32, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Более интересный вопрос экономический - как он живёт так что у него есть средства и возможность страдать такой хренью?

    "Праздношатающийся головастик при местном университете".
    Судя по всему он типичный "перельман" и много ему не надо.

     
  • 4.86, Крысюк (?), 10:20, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну запихни для начала свою Ноду в микроконтроллер, а мы на тебя посмотрим.
    А то что нет "нет информации о семье" - а что, теперь каждый более-менее известный разработчик должен информировать весь мир как зовут его жену, тёщу, даты рождения детей а также результаты ежегодной флюорографии? Про такое слово как "приватность" слышал, не?
     
  • 4.90, нах.. (?), 10:30, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >как он живёт так что у него есть средства и возможность страдать такой хренью

    Он сооснователь Amarisoft, я посмотрел - у них неплохая ebitda, так что думаю денежки у него есть.

     
  • 3.54, Frestein (ok), 05:31, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Жалкая зависть от человека без реализованных амбиций
     
  • 3.71, Аноним (70), 09:11, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто что-то плохое.
     
  • 3.83, Крысюк (?), 10:02, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты конечно свечку держал, раз так осведомлен о его семье и детях.
     

  • 1.14, Аноним (14), 23:29, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто такто
     
  • 1.15, Аноним (17), 23:51, 23/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Если у тебя такие ограничение по железу зачем тебе джаваскрипт, Фабрис не сказал? А так ради искусства красиво.
     
     
  • 2.24, Витюшка (?), 00:19, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Путаем имплементацию и спецификацию?
    И чем же JS хуже? Для скриптового языка вполне. Его несуразный дизайн (всякие цепочки прототипов)...но и конкурент Lua не лучше. Python? В общем список и закончился.
     
     
  • 3.29, Аноним (16), 00:25, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос, наверное, был о целесообразности использования какой-либо скриптоты на железе с 10 килобайт ОЗУ.

    > Python?

    Ну, MicroPython вполне популярен.

     
     
  • 4.45, Джон Титор (ok), 02:27, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так если открыть сайт и посмотреть на поддерживаемые архитектуры, то эту информацию можно найти. Вот смотри, https://bellard.org/quickjs/ - QuickJS:

    >> Cosmopolitan binaries running on Linux, Mac, Windows, FreeBSD, OpenBSD, NetBSD for both the ARM64 and x86_64 architectures

    Но речь идёт о Micro QuickJS, который написал тот же bellard: https://github.com/bellard/mquickjs

    >>  It compiles and runs Javascript programs with as low as 10 kB of RAM. The whole engine requires about 100 kB of ROM (ARM Thumb-2 code) including the C library. The speed is comparable to QuickJS.

    Т.е. это какая-то урезанная версия которая запустится на всём тоже самом, только с меньшим количеством памяти. А заначит и на каком-нибудь OpenWRT также можете поднять свой сайт или сделать свой софт с JS скриптами. Элементарно легковесный сервер для микроноды под OpenWRT вполне может стать популярным. Всё что нужно - скомпилировать

    >> make
    >> make install

     
     
  • 5.80, Аноним83 (?), 09:45, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Современный OpenWRT это минимум 64мб оперативы а то и больше, там и полноценный веб сервер с пхп запросто будет работать.
     

  • 1.32, Джон Титор (ok), 00:34, 24/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Неплохо на самом деле. Один целый абзац в статье конечно можно заменить на короткое предложение что JS работает только в "strict mode" и поддерживает стандарт ES2015. Все в курсе что это. Разработчикам встраиваемых систем стоит задуматься что на Python и JavaScript наибольшее количество разработчиков нынче в мире. Может оно и начнется с какого-нибудь табло для банка показывающего курс валют (на С оно тоже много строк конечно не занимает, я понимаю), но разработчиков встраиваемых систем станет больше. А на носу эволюция роботов.
     
     
  • 2.78, Аноним83 (?), 09:43, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сомнительно.
    Дети в роблоксе, роблокс на LUA биндингах. А JS это что то дедовское :)
     
  • 2.95, Аноним (93), 10:49, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все в курсе что это.

    Кто все-то? Ваш джс пузырик не настолько большой (чего не скажешь про эго, конечно)

     

  • 1.55, IMBird (ok), 06:45, 24/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Будет ли оно ещё быстрее, если вместо js будет строгий ts (чтобы только типизированное всё было) и выбросить eval? Был такой (и где-то ещё используется) Pascal Script.
     
     
  • 2.77, Аноним83 (?), 09:41, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Оно не для быстроты сделано.
    Если вам жевать данные - то пишите С биндинги и дёргайте их.
    Тут как раз примеры как делать: https://github.com/bellard/quickjs/tree/master/examples
     

  • 1.56, Аноним (56), 07:11, 24/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фабрис гений
     
     
  • 2.59, Буратино (?), 07:30, 24/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.91, нах.. (?), 10:32, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он не гений. Просто талантливый математик и продуктивный программист.
     

  • 1.57, Илья (??), 07:23, 24/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем нужен js где-то кроме браузера при существовании java/c# ?
     
     
  • 2.79, Аноним (79), 09:44, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    java слишком слишком жирная, c# - это вендорлок винды, и эти язычки в бэкенде подходят только совсем жииирнючих монолитов.
     
     
  • 3.89, Аноним (89), 10:28, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >c# - это вендорлок винды

    С разморозкой:

    SDK 10.0.101
    Downloads for .NET 10.0 SDK (v10.0.101)
    OS Installers Binaries
    Linux Package manager instructions Arm32 | Arm32 Alpine | Arm64 | Arm64 Alpine | x64 | x64 Alpine

    >эти язычки в бэкенде подходят только совсем жииирнючих монолитов.

    Ой-вей, да ты в своей криокамере проспал и моду на сервисную архитектуру, поди. JS в бэкэнде - вот это натягивание совы на глобус.

     
  • 2.82, Цукербургер (?), 09:53, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Например для бинарной программы добавить возможность выполнять внешние сценарии. Нельзя реализовать в программе хотелки пользователей на все случаи жизни, а так они сами допишут что им не хватает.
     

  • 1.61, Сталин (?), 07:34, 24/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    mJS сто лет как существует: https://github.com/cesanta/mjs
     
     
  • 2.76, Аноним83 (?), 09:39, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там в issues его тролли-исследователи растерзали уже, учитывая что с 2018 года ничего не коммитят и даже issues не закрывают то можно считать его заброшеным.
     

  • 1.88, Аноним (88), 10:22, 24/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не касаясь размера и быстродействия - код на С очень плохой.
     
     
  • 2.92, Аноним83 (?), 10:38, 24/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Примеры и описания будут?
    По мне код вполне норм, пара мест могла быть лучше.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру