Hacker News new | past | comments | ask | show | jobs | submit login

Curious why you chose Zig and not e.g. Rust.



I suspect that this has something to do with it:

https://zackoverflow.dev/writing/unsafe-rust-vs-zig/

Zig is also very easy to learn in comparison to rust.


I'm quite happy they did.


Why is that?


[flagged]


There's Deno already if someone really wants their JS runtime in Rust. Personally, since everything just runs on a JIT JS runtime anyway, I don't really see to much of a difference between Node, Deno, and Bun, it's not like the JS is being AOT compiled via Zig or Rust, which would be very interesting, you could basically treat JS as a compiled language rather than an interpreted one, even if the JIT is already fast.


> it's not like the JS is being AOT compiled via Zig or Rust

That would actually be slower than what you get from a JIT compiler.


I meant the compiler written in a lower level language that then binds to LLVM, as Rust is currently. Why would AOT be slower than JIT?


Why would the implementation language matter for the compiler? It is a traditional input-output algorithm, it is either good and does many fancy optimizations for good output, or it isn’t. Sure, the speed of compilation may vary, but that’s a different question.

Also, JS being such a dynamic language, it will likely perform better with a speculative JIT compiler, e.g. a shape can be assumed for a frequently used object. This is only possible with PGO to a degree.


In theory it could be: compiling for the specific latency profile and instruction-set of each individual machine. In practice that has never been done.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: