Hacker News Digest

Тег: #spidermonkey

Постов: 3

Brimstone: ES2025 JavaScript engine written in Rust (github.com)

Разработчик представил Brimstone - новый JavaScript-движок, полностью написанный на Rust. Проект стремится создать альтернативу существующим движкам таким как V8 и SpiderMonkey, но с акцентом на безопасность и производительность за счет использования системы типов Rust и его современных возможностей. Rust обеспечивает безопасность памяти и потоков, что может снизить количество уязвимостей в движке по сравнению с традиционными реализациями на C++.

На данный момент проект находится на ранней стадии разработки, но уже демонстрирует потенциал для создания более безопасных и эффективных JavaScript-движков. Использование Rust для реализации движка JavaScript - это интересный тренд в индустрии, который также наблюдается в других проектах, таких как Deno и Boa, что указывает на растущий интерес к альтернативным языкам для критически важных компонентов веб-платформы.

by ivankra • 16 ноября 2025 г. в 11:41 • 220 points

ОригиналHN

#rust#javascript#v8#spidermonkey#deno#boa#memory-safety#unicode#github

Комментарии (103)

  • Обсуждение началось с благодарности за включение проекта в список и запуск бенчмарков, но быстро перешло к сравнению размеров бинарников Brimstone и Boa, где последний оказался в 3,5 раза больше из-за включённых ICU-таблиц Unicode.
  • Участники обсудили, что "написано на Rust" стало маркетинговым клише, и как оно влияет на восприятие проекта, а также затронули тему лицензий и отсутствия лицензии в репозитории.
  • Разговор затронул вопросы безопасности памяти и использования unsafe в контексте Rust, где участники обменялись мнениями о том, что именно подразумевается под этим и как это соотносится с выбором языка программирования.

Boa: A standard-conforming embeddable JavaScript engine written in Rust (github.com) 🔥 Горячее

Boa — это встраиваемый JavaScript-движок, полностью реализованный на языке программирования Rust. Проект с открытым исходным кодом предлагает разработчикам альтернативу для выполнения JavaScript-кода в различных приложениях с преимуществами безопасности и производительности, которые обеспечивает Rust. Движок стремится соответствовать стандартам ECMAScript, обеспечивая совместимость с современным JavaScript.

Проект активно развивается сообществом и уже поддерживает множество возможностей языка JavaScript, включая ES6+ функции. Boa позиционируется как легковесное решение для встраивания JavaScript в десктопные, веб и другие типы приложений. Его реализация на Rust обеспечивает безопасность памяти и потоков, что особенно важно для критически важных систем.

by maxloh • 06 ноября 2025 г. в 06:15 • 264 points

ОригиналHN

#javascript#rust#ecmascript#servo#v8#spidermonkey#lua#github

Комментарии (67)

  • Boa — встраиваемый JavaScript-движок на Rust, разработанный командой мейнтейнеров, изначально созданный для использования в Servo.
  • Текущая версия (v0.21) не полностью соответствует стандарту ECMAScript, проваливая около 900 из 50 000 тестов; разработчики рассматривают фиксацию конкретной версии стандарта для 100% соответствия.
  • Проект позиционируется как альтернатива Lua для встраивания скриптов в Rust-приложения, с фокусом на безопасность и детерминированность, но не конкурирует напрямую с V8/SpiderMonkey по производительности.
  • В бенчмарках Boa сравнивается с JIT-less версиями V8 и SpiderMonkey, но отсутствуют полные версии движков; пользователи отмечают отсутствие конкурентных сравнений как потенциальный недостаток.
  • Основные сценарии использования включают встраиваемое выполнение JavaScript в нативных приложениях, замену Lua и создание скриптовых слоёв в фреймворках на других языках.

Who needs Graphviz when you can build it yourself? (spidermonkey.dev) 🔥 Горячее

Команда SpiderMonkey разработала новый инструмент для визуализации компиляции JavaScript и WebAssembly, создав собственный алгоритм расположения графов вместо использования Graphviz или Mermaid. Когда оптимизирующий компилятор Ion активен, система генерирует интерактивные графики, показывающие обработку и оптимизацию функций. Пользователи могут писать JavaScript-код и видеть в реальном времени, как изменяется граф, с возможностью навигации, масштабирования и просмотра различных этапов оптимизации.

Автор статьи не был удовлетворен выводом существующих инструментов, которые не отражали структуру исходного кода и создавали нестабильные макеты. Новый алгоритм, реализованный менее чем в 1000 строк кода, прост, быстр и produces высококачественный результат. Он учитывает специфические ограничения графов управления потоком, такие как наличие хорошо определенных циклов и необратимость потока управления, что позволяет создавать более интуитивные визуализации.

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

by pdubroy • 29 октября 2025 г. в 05:17 • 460 points

ОригиналHN

#javascript#webassembly#graphviz#mermaid#ion#spidermonkey#github

Комментарии (95)

  • Обсуждение показало, что специализированные решения для визуализации превосходят универсальные инструменты вроде Graphviz, но сообщество продолжает использовать последние из-за инерции и отсутствия альтернатив.
  • Участники жалуются на то, что Graphviz и подобные инструменты не справляются с задачами даже средней сложности, и что их использование часто требует ручной доводки.
  • Проект Microdiagram нацелен на создание DSL для каждого типа диаграмм вместо одного языка для всех типов диаграмм.
  • Обсуждение также затронуло вопросы производительности и надежности инструментов, а также то, что сгенерированные ими диаграммы не всегда читаемы без дополнительной ручной работы.
  • Участники поделились ссылкой на исходники на GitHub, где можно найти код, который может быть использован как стартовая точка для собственных экспериментов в этой области.