news.volyx.in

Fabrice Bellard Releases MicroQuickJS (github.com)

1507 points by Aissen · 212 days ago · 569 comments on HN

Article summary

Fabrice Bellard has released MicroQuickJS, a JavaScript engine designed for embedded systems, which can run JavaScript programs using as little as 10 kB of RAM. The engine is a subset of JavaScript, similar to ES5, and has a stricter mode that disables some error-prone or inefficient constructs. MicroQuickJS has its own memory allocator and garbage collector, and can compile and run bytecode from persistent storage. The engine is intended for use in resource-constrained environments.

Main themes

  • JavaScript engines
  • Embedded systems
  • Memory constraints
  • Garbage collection
  • Bytecode compilation

What commenters say

  • Running a JavaScript engine in a WebAssembly environment can be useful for creating bindings and allowing multiple programming languages to target the same platform.
  • The performance of WebAssembly can be surprisingly good, even outperforming native code in some cases, due to the predictability of the execution environment.
  • The use of a JavaScript engine like MicroQuickJS can provide a sandboxed environment for running untrusted user-authored scripts, which is useful for security purposes.
  • Fabrice Bellard's productivity and skill as a programmer are impressive, but his achievements are more focused on software implementation rather than breakthroughs in computer science.
  • Bellard's low profile and focus on letting his work speak for itself are admirable and a refreshing change from the typical self-promotion in the tech industry.
  • There are existing awards for recognizing contributions to computer science and software systems, such as the Turing Award and the ACM Software System Award, but they may not be directly applicable to Bellard's work.
  • The maintenance and development of large software projects like ffmpeg and qemu are complex tasks that require significant resources and community involvement, and it's not feasible for one person to maintain them alone.
  • Bellard's work on MicroQuickJS and other projects demonstrates his consistency and craftsmanship as an engineer, which is a rare and valuable trait in the industry.