
Why are so many companies using Node.js? - zippy786
I&#x27;ve seen it being used in quite a number of places now (specially startups) and I don&#x27;t get why people use it over other stacks which might be easier to maintain and code. Here are couple of things that comes to mind<p>- Most startups have inexperienced people writing async code (which is hard) and make too many mistakes<p>- The reason Javascript is used in frontend let&#x27;s use it for backend (even using the same programmer) seems flawed. Backend programming would require intimate knowledge of threads, mutexes, async and other things which a frontend programmer may not be familiar with so using the same programmer or language may be moot.<p>- Flaky drivers. Surely it works great with MongoDB but try using MariaDB, Postgres with concurrency and pooling and there are so many issues (async is hard ?).<p>- Is Node.js performance really that good when people start making mistakes and bugs arise that infact hinders performance. Why people move to Node.js when horizontal scaling can provide sufficient performance needed by most.<p>These are only couple of points, may be Hackernews can give more perspective towards why some of the people&#x2F;companies choose Node.js with these flaws. Is it because it&#x27;s new or the love of Javascript (designed in less than 1 month) is so much that it has bleed into the backend realm.
======
wmf
It's a fad (which is fading in favor of Go). A few comments:

 _Backend programming would require intimate knowledge of threads, mutexes,
async..._

Not if they use Node.js. One reason to use it is that it doesn't allow you to
use threads or to even decide whether to use threads or not.

 _Surely it works great with MongoDB..._

And that's what people use.

 _Is Node.js performance really that good..._

People who choose programming languages based on hype are never going to get
good performance anyway, so it doesn't matter.

------
fiiv
> when people start making mistakes and bugs arise that infact hinders
> performance

That statement is true of any language stack.

> The reason Javascript is used in frontend let's use it for backend (even
> using the same programmer) seems flawed

I am a backend dev at my company and we use Node.js, and I can tell you while
the frontenders are not great at knowing the APIs of the internal Node.js
modules, for example, but can provide great PR reviews of the code in general,
for overall logic, flow and readability.

As for your statements regarding in general, I think you'll find quite a bit
of people in various orgs who do not know a ton about the intimate details of
threading but are for example backenders using RoR, and they just install a
server like Puma or Unicorn to abstract away a lot of that complexity.

