# Node.js

257 Hacker News commenters recommended Node.js and 241 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 10 years (5 owners).

**Verdict:** 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.

## Why people recommend it

- Stable, boring, long-term bet (5 comments): "spent its time actually shipping stability while everyone else was chasing the next shiny runtime hype cycle" ([source](https://news.ycombinator.com/item?id=49973818)) "You could just go back to Node where they aren't engaging in a modern day Ship of Theseus every other week." ([source](https://news.ycombinator.com/item?id=48614327)) "It's stable, has a good (and growing) standard library and has enough backing to be self sustaining." ([source](https://news.ycombinator.com/item?id=49357577))
- Runs TypeScript without build step (6 comments): "You can go very far with just node alone (accepts typescript without tsc, has testing framework,...)" ([source](https://news.ycombinator.com/item?id=46032720)) "Both bun and node do type stripping of ts types, and can compile a cli to a single file executable" ([source](https://news.ycombinator.com/item?id=46435388)) "The only limitation I run into using Node natively is you need to do import types as type imports" ([source](https://news.ycombinator.com/item?id=46922676))
- Capable built-ins, fewer dependencies (5 comments): "It's stable, has a good (and growing) standard library and has enough backing to be self sustaining." ([source](https://news.ycombinator.com/item?id=49357577)) "You can go very far with just node alone (accepts typescript without tsc, has testing framework,...)" ([source](https://news.ycombinator.com/item?id=46032720)) "Node includes SQLite and Argon2 at least, if the issue is the interface then that is easily fixed." ([source](https://news.ycombinator.com/item?id=48015536))
- Good async and process concurrency (5 comments): "Moving from Python to Node for per-process fully-fleshed out async and share-nothing concurrency however is perfectly sane." ([source](https://news.ycombinator.com/item?id=45802967)) "It's very satisfying to rent a 250MB memory machine and let it process GB's of data using streams." ([source](https://news.ycombinator.com/item?id=47181845)) "spinning up multiple NodeJS instances and putting an nginx server in front to do load balancing" ([source](https://news.ycombinator.com/item?id=46301030))

## What people warn about

- Messy npm ecosystem and packaging (5 comments): "NodeJS itself qualifies as boring, but the entire ecosystem around it is still a mess." ([source](https://news.ycombinator.com/item?id=49297668)) "the node.js packaging ecosystem wouldn't have committed so many own-goals if it'd been designed by people with more historical awareness" ([source](https://news.ycombinator.com/item?id=46678642)) "Node is JavaScript, and those awesome server-side geniuses dump too-easy tooling while recreating every problem of every stack ever" ([source](https://news.ycombinator.com/item?id=47993736))
- Supply-chain and malware risks (3 comments): "the vast majority of daily Microsoft Defender offenders I have to wade through... are related to Node being used in various Microsoft applications" ([source](https://news.ycombinator.com/item?id=50023228)) "How many more examples of malware postinstall scripts do we need before Node quits running them by default, without warning?" ([source](https://news.ycombinator.com/item?id=48244134)) "Bad language, ecosystem full of buggy unmaintained packages with the worse security profile of all the common languages" ([source](https://news.ycombinator.com/item?id=47079894))
- JavaScript itself is a weak language (3 comments): "Nodejs wasn't easier for people. JS is a horrible language where simple stuff like comparisons, array access, and member access are broken." ([source](https://news.ycombinator.com/item?id=49889229)) "It is more about being a dynamic language where V8 can only help as much, thus C++ addons, rewrites into .NET, Java, Go, Rust" ([source](https://news.ycombinator.com/item?id=49296429)) "Bad language, ecosystem full of buggy unmaintained packages with the worse security profile of all the common languages" ([source](https://news.ycombinator.com/item?id=47079894))
- Concurrency limits and latency spikes (3 comments): "The point is that Node was forced into this model by V8 limitations, then sold it as an advantage" ([source](https://news.ycombinator.com/item?id=45783896)) "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." ([source](https://news.ycombinator.com/item?id=47268209)) "Worker threads can't handle I/O, so a single process Node.js app will still have the connection limit much lower" ([source](https://news.ycombinator.com/item?id=46414071))

## Alternatives hackers recommend

- [Bun](https://hackerapproved.com/p/bun.md): 493 recommend
- [Deno](https://hackerapproved.com/p/deno.md): 234 recommend
- [Ant JavaScript runtime](https://hackerapproved.com/p/ant-javascript-runtime.md): 16 recommend
- [workerd](https://hackerapproved.com/p/workerd.md): 13 recommend
- [Mystral Native](https://hackerapproved.com/p/mystral-native.md): 7 recommend

## Cite as

Hacker Approved, "Node.js", https://hackerapproved.com/p/node-js/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
