4 ms·
>I also don't particularly care for "async everything" by default. I understand your complaint. Just to add some historical background, Node.js creator Ryan
by jasode 5y ago
>I also don't particularly care for "async everything" by default.
I understand your complaint.
Just to add some historical background, Node.js creator Ryan Dahl deliberately architected it that way. He thought threads to express concurrency had flaws. (Especially for i/o tasks instead of cpu-bound tasks). An excerpt[2]:
>“Node was originally born out of this problem — how can you handle two things at the same time? Non-blocking sockets is one way. Node is more or less the idea, or exploring the idea: what if everything was non-blocking? What if you never waited for any IO to happen?”
It's interesting that around the same time, a JVM-based competitor called Vert.x adopted the same philosophy. An example discussion on HN where some favor async by default:
https://news.ycombinator.com/item?id=3928738 https://news.ycombinator.com/item?id=3928738
[1] https://medium.com/softup-technologies/node-js-internals-libuv-and-the-event-loop-behind-the-curtain-30708c5ca83 https://medium.com/softup-technologies/node-js-internals-lib...
[2] https://siliconangle.com/2013/04/01/the-birth-of-node-where-did-it-come-from-creator-ryan-dahl-shares-the-history/ https://siliconangle.com/2013/04/01/the-birth-of-node-where-...