You make quite a claim, and then only discuss speed and throughput.
App boxes are usually pretty easy to scale up (and cheap). The efficiency of your app layer in terms of I/O is very rare the bottleneck for a scaled application.
The best reasons to use Node.js:
- Single language for FE and Backend. Easier to recruit and build things.
- Much faster to build things, on average, than in Go (or especially C++)
I'm not saying it's great, or better than Go/Rust/etc. It has obvious weaknesses, but to say "There's no good reason" is to only view development from one perspective.
Oh, I'm neither the author nor do I necessary agree with all the conclusions, just ran into this article on twitter and wanted to see what HN thinks grabs popcorn style and all ;)
Sound like the 2017 version of "Rails doesn't scale" - obviously you can make EVERYTHING scale.
Plus, saying 'never' in a programming context is never a good idea...
As much as I dislike Javascript, I can't agree with this article. There's tremendous value in using the same language in both the front and back ends. I personally might argue that with the prevalence of compile-to-js languages (Haskell being my personal favorite) there's no reason to use Javascript any more. But that doesn't mean that everyone else's calculus is the same. And if you use JS on the front end, there's a compelling reason to also use it on the backend.
For a given real use-case communication pattern, there will be different optimizations and approaches to squeeze peformance out of client and server hardware. (No 1SFA, YMMV.)
Sounds like a negative diatribe to me; it doesn't go into the good points of it, only focusing on the downsides. And the last section starting with "and if you want to know what I think about other languages" seems totally unnecessary.
8 comments
[ 3.2 ms ] story [ 32.0 ms ] threadApp boxes are usually pretty easy to scale up (and cheap). The efficiency of your app layer in terms of I/O is very rare the bottleneck for a scaled application.
The best reasons to use Node.js: - Single language for FE and Backend. Easier to recruit and build things. - Much faster to build things, on average, than in Go (or especially C++)
I'm not saying it's great, or better than Go/Rust/etc. It has obvious weaknesses, but to say "There's no good reason" is to only view development from one perspective.
Sound like the 2017 version of "Rails doesn't scale" - obviously you can make EVERYTHING scale.
Plus, saying 'never' in a programming context is never a good idea...
Video: https://vimeo.com/44312354
Slides (PDF): http://www.erlang-factory.com/upload/presentations/558/efsf2...
That's just to warm up. How about 10+ million connections per box (Java + CentOS + enterprise box)? https://mrotaru.wordpress.com/2015/05/20/how-migratorydata-s...
For a given real use-case communication pattern, there will be different optimizations and approaches to squeeze peformance out of client and server hardware. (No 1SFA, YMMV.)
I think we can safely ignore hiSegmentation fault (core dumped).