Building a Javascript Runtime Using C
Posted3 months agoActive3 months ago
devlogs.xyzTechstory
calmmixed
Debate
60/100
JavascriptCRuntimeEmbedded Systems
Key topics
Javascript
C
Runtime
Embedded Systems
The post discusses building a JavaScript runtime using C, but the discussion revolves around whether it's a 'from scratch' implementation and its potential use cases.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
4d
Peak period
23
84-96h
Avg / period
8
Comment distribution32 data points
Loading chart...
Based on 32 loaded comments
Key moments
- 01Story posted
Oct 7, 2025 at 6:18 PM EDT
3 months ago
Step 01 - 02First comment
Oct 11, 2025 at 11:56 AM EDT
4d after posting
Step 02 - 03Peak activity
23 comments in 84-96h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 13, 2025 at 3:13 AM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45509636Type: storyLast synced: 11/20/2025, 6:45:47 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Deno used similar wording in a tutorial for creating your own JS runtime using Rust and V8 bindings: https://deno.com/blog/roll-your-own-javascript-runtime
IMO the tutorial is still cool nonetheless, it's a fun subject.
I wrote my own language that targeted javascript. When I made my language self-hosting, I initially used `bun` (based on JSC), so I wouldn't have to implement a tail call transformation myself. It was expedient.
My goal was to run in a browser, so I did eventually add that transformation and found that my compiler was 40% faster running in node (based on v8).
[1] https://bellard.org/quickjs/
Someone took QuickJS and put it in wasm so you can run QuickJS in the browser or in node.
https://github.com/justjake/quickjs-emscripten
Fabrice Bellard is on another planet when it comes to programming. He also wrote FFmpeg and QEMU (among other things).
That is exactly how I interpreted the title of the article.
[0]: https://github.com/jscert/jscert
https://www.digitalmars.com/dscript/cppscript.html
I later translated it to D:
https://github.com/DigitalMars/DMDScript/tree/master/engine/...
Github: https://github.com/DigitalMars/DscriptCPP