Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
It has nothing to do with novelty, and everything to do with the ways in which NodeJS is forever locked in on design. Deno is better for isomorphic typescript because of the emphasis on browser-compatible api's; there are promises all the way down; bundling/formatting/documentation/testing are all built in; and it's built entirely on Rust. There's quite a bit to be said about this having a foundation on Rust, and presumably there are advantages to deno's first class support for generating rust bindings over N-API. Having authored work utilizing napi for N-API bindings as part of redis-simd-json, I was pretty unimpressed, and the experience made me far more inclined to go with deno bindgen instead.
Rust lang. It's a difficult language to learn, but it is truly extraordinary and delivers on performance, reliability, productivity, correctness, expressiveness and it's a very good language for reasoning about. It's the kind of language where learning it changes your paradigms and makes you recognize the ways in which other languages are lacking. Thinking in terms of traits is a game changer. Once you use algebraic data types you never want to go back. Concrete error types! Bindings for all the things. Zero cost abstractions. Provably correct database queries with compile time checking (Diesel, SQLX). Type-state patterns combined with ownership allows you to create designs where you can assure correct usage. I recently wrote the most performant batching algorithm that exists, the design of which would literally not be possible in any other language, but because of ownership semantics and lifetimes I was able to ensure correct usage in order to uphold all the contracts necessary as to prevent UB. Feel free to check it out and benchmark it yourself if you'd like.
You could try Node Version Manager (nvm).
Bun didn't make the test because Bun hasn't yet implemented working read from stdin and write to stdout https://github.com/oven-sh/bun/issues/1297.
Related posts
- Write a schema only absolutely no code backend server with Node.js and Teo!
- How to quickly setup NodeJS with NVM
- "npm can’t be eliminated from the equation when you’re dealing with JavaScript" - True or false?
- Two+ things I do every time I set up a new node project
- Looks like npm is installed but does not work.