Node.js
Ranked 2 of 9 JavaScript runtimes by recommenders
A stable, boring server-side JavaScript runtime that now runs TypeScript natively and ships enough built-ins to avoid many dependencies, though the npm ecosystem draws heavy criticism for security and churn.
A stable, boring server-side JavaScript runtime that now runs TypeScript natively and ships enough built-ins to avoid many dependencies, though the npm ecosystem draws heavy criticism for security and churn.
498 people gave an opinion
- recommend it
- 257
- criticize it
- 241
- approval share
- 52%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 10 years
Median of the 5 owners who said how long they have had it.
Each square is one year.
Why it doesn’t carry the badge
- 257 people recommend itNeeds 10 or more, met.
- 1 recommender for every criticNeeds 2 to 1 or better, not met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Stable, boring, long-term bet
“spent its time actually shipping stability while everyone else was chasing the next shiny runtime hype cycle”
Comment from 6 Oct 2026 in “Friendship ended with Deno, now Node is my best friend” “You could just go back to Node where they aren't engaging in a modern day Ship of Theseus every other week.”
Comment from 21 Jun 2026 in “Bun has an open PR adding shared-memory threads to JavaScriptCore” “It's stable, has a good (and growing) standard library and has enough backing to be self sustaining.”
Comment from 19 Aug 2026 in “Bun 1.4 Rust rewrite is not looking good” - Comment from 14 Aug 2026 in “Choose Boring Technology (2015)”
- Comment from 2 Dec 2025 in “Anthropic acquires Bun”
Runs TypeScript without build step
“You can go very far with just node alone (accepts typescript without tsc, has testing framework,...)”
Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected” “Both bun and node do type stripping of ts types, and can compile a cli to a single file executable”
Comment from 30 Dec 2025 in “Go Away Python” “The only limitation I run into using Node natively is you need to do import types as type imports”
Comment from 7 Feb 2026 in “Python interpreter written in Rust for use by AI” - Comment from 15 Jul 2026 in “TypeScript 7”
- Comment from 18 Feb 2026 in “Fastest Front End Tooling for Humans and AI”
- Comment from 26 Aug 2026 in “Qwen3.8-Flash-Next”
Capable built-ins, fewer dependencies
“It's stable, has a good (and growing) standard library and has enough backing to be self sustaining.”
Comment from 19 Aug 2026 in “Bun 1.4 Rust rewrite is not looking good” “You can go very far with just node alone (accepts typescript without tsc, has testing framework,...)”
Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected” “Node includes SQLite and Argon2 at least, if the issue is the interface then that is easily fixed.”
Comment from 4 May 2026 in “I am worried about Bun” - Comment from 21 Aug 2026 in “Better Batteries”
- Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected”
Good async and process concurrency
“Moving from Python to Node for per-process fully-fleshed out async and share-nothing concurrency however is perfectly sane.”
Comment from 3 Nov 2025 in “Why we migrated from Python to Node.js” “It's very satisfying to rent a 250MB memory machine and let it process GB's of data using streams.”
Comment from 27 Feb 2026 in “We deserve a better streams API for JavaScript” “spinning up multiple NodeJS instances and putting an nginx server in front to do load balancing”
Comment from 17 Dec 2025 in “Show HN: Titan – JavaScript-first framework that compiles into a Rust server” - Comment from 22 Mar 2026 in “Node.js worker threads are problematic, but they work great for us”
- Comment from 3 Nov 2025 in “Why we migrated from Python to Node.js”
What people warn about
Each mark is one comment
Messy npm ecosystem and packaging
“NodeJS itself qualifies as boring, but the entire ecosystem around it is still a mess.”
Comment from 14 Aug 2026 in “Choose Boring Technology (2015)” “the node.js packaging ecosystem wouldn't have committed so many own-goals if it'd been designed by people with more historical awareness”
Comment from 19 Jan 2026 in “Software engineers can no longer neglect their soft skills” “Node is JavaScript, and those awesome server-side geniuses dump too-easy tooling while recreating every problem of every stack ever”
Comment from 3 May 2026 in “VS Code inserting 'Co-Authored-by Copilot' into commits regardless of usage” - Comment from 10 Nov 2025 in “XSLT RIP”
- Comment from 19 Feb 2026 in “Farewell Rust”
Supply-chain and malware risks
“the vast majority of daily Microsoft Defender offenders I have to wade through... are related to Node being used in various Microsoft applications”
Comment from 9 Oct 2026 in “Cloudflare acquires Deno” “How many more examples of malware postinstall scripts do we need before Node quits running them by default, without warning?”
Comment from 23 May 2026 in “Malicious Postinstall Hook Found in 700 GitHub Repos, Including Node Projects” “Bad language, ecosystem full of buggy unmaintained packages with the worse security profile of all the common languages”
Comment from 19 Feb 2026 in “Farewell Rust” JavaScript itself is a weak language
“Nodejs wasn't easier for people. JS is a horrible language where simple stuff like comparisons, array access, and member access are broken.”
Comment from 29 Sep 2026 in “Show HN: Pac-Bench – How well can models one-shot a Pac-Man game?” “It is more about being a dynamic language where V8 can only help as much, thus C++ addons, rewrites into .NET, Java, Go, Rust”
Comment from 14 Aug 2026 in “Choose Boring Technology (2015)” “Bad language, ecosystem full of buggy unmaintained packages with the worse security profile of all the common languages”
Comment from 19 Feb 2026 in “Farewell Rust” Concurrency limits and latency spikes
“The point is that Node was forced into this model by V8 limitations, then sold it as an advantage”
Comment from 1 Nov 2025 in “Async/Await is finally back in Zig” “In node.js I've seen time and time again some slow task that happens only every now and then, but which causes significant latency spikes.”
Comment from 5 Mar 2026 in “Fast-Servers” “Worker threads can't handle I/O, so a single process Node.js app will still have the connection limit much lower”
Comment from 28 Dec 2025 in “We "solved" C10K years ago yet we keep reinventing it”
Other JavaScript runtimes people recommend
The four most recommended other JavaScript runtimes, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Bun | 493 | 608 | 45% | 12 | 2 yrs17 owners | — |
| Node.jsThis page | 257 | 241 | 52% | 12 | 10 yrs5 owners | — |
| Deno | 234 | 176 | 57% | 12 | 2 yrs13 owners | — |
| Ant JavaScript runtime | 16 | 17 | 48% | 2 | — | — |
| workerd | 13 | 7 | 65% | 10 | — | — |
What people said
40 of the 601 comments that mention it, newest first. Each links to the original comment.
“the vast majority of daily Microsoft Defender offenders I have to wade through... are related to Node being used in various Microsoft applications”
“I find Node's documentation to be some of the worst for never being able to answer the specific question I have”
“spent its time actually shipping stability while everyone else was chasing the next shiny runtime hype cycle”
“Nodejs wasn't easier for people. JS is a horrible language where simple stuff like comparisons, array access, and member access are broken.”
“nodejs natively supports a huge set of typescript with built-in type stripping these days”
“in Node.js, which gave birth to npm, you can now do many stuff without external dependencies”
“It's stable, has a good (and growing) standard library and has enough backing to be self sustaining.”
“node succeeded, because it managed to transplant the validated engineering and mindshare of js devs to the backend”
“NodeJS itself qualifies as boring, but the entire ecosystem around it is still a mess.”
“It is more about being a dynamic language where V8 can only help as much, thus C++ addons, rewrites into .NET, Java, Go, Rust”
“Yes, sometimes you have to ship node.js or a whole web browser, but the tooling for that is slightly less insane than the analogous tooling for python.”
“although node@24 can directly run typescript file, but stripe the types, without type-checking”
“You could just go back to Node where they aren't engaging in a modern day Ship of Theseus every other week.”
“How many more examples of malware postinstall scripts do we need before Node quits running them by default, without warning?”
“trying to maintain a pretty large body of TypeScript code in a runtime-agnostic way (including even Node, since 24.2)”
“Node includes SQLite and Argon2 at least, if the issue is the interface then that is easily fixed.”
“Node is JavaScript, and those awesome server-side geniuses dump too-easy tooling while recreating every problem of every stack ever”
“I love the simplicity of Node.js that each process or child process can have its own CPU core”
“I honestly can't think of a single practical scenario where I'd pick Deno over Node + npm today.”
“Every Electron app ships with its own copy of Chromium (for rendering the UI) and Node.js (for system APIs).”
“In node.js I've seen time and time again some slow task that happens only every now and then, but which causes significant latency spikes.”
“It's very satisfying to rent a 250MB memory machine and let it process GB's of data using streams.”
“Bad language, ecosystem full of buggy unmaintained packages with the worse security profile of all the common languages”
“recent versions of Node.js which can strip TypeScript types I don't even need a build step”
“The only limitation I run into using Node natively is you need to do import types as type imports”
“with its "running environments" (Chrome, Node, etc.), has done what Java was supposed to do in the 90s”
“the node.js packaging ecosystem wouldn't have committed so many own-goals if it'd been designed by people with more historical awareness”
“NodeJS is also needed because most Docker files that use Rust in our organization also have NodeJS in them”
“Both bun and node do type stripping of ts types, and can compile a cli to a single file executable”
“Worker threads can't handle I/O, so a single process Node.js app will still have the connection limit much lower”
“spinning up multiple NodeJS instances and putting an nginx server in front to do load balancing”
“As a developer I can build web and media applications that you couldn't ever imagine building 20 years ago.”
“My long-term bet on Node being "boring" and "stable" continues to pay major dividends.”
“You can go very far with just node alone (accepts typescript without tsc, has testing framework,...)”
“Node itself is still fine and you can do a lot these days without needing tons of library.”
“I chose the Node example because I feel like it offers the same "ease-of-use" that draws people to Python”
“The Javascript ecosystem however (nodejs, npm, yarn etc) are what take away from an otherwise excellent programming language.”
“Moving from Python to Node for per-process fully-fleshed out async and share-nothing concurrency however is perfectly sane.”
“Node literally exists to do one thing and one thing only really well: async programming.”
“The point is that Node was forced into this model by V8 limitations, then sold it as an advantage”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.