3 ms·
Why?
by dpacmittal 11y ago
Why?
- supernintendo 11y agoFor me, it's personal preference. Node.js is used and loved by many, but to me it's just an asynchronous event loop running on a single threaded process with a JavaScript API. I've written performant Node.js code and maybe for smaller web services it's great. But for a backend server, I worry about human error in large, evolving projects (especially when it comes time to scale). Other issues faced by myself and colleagues more experienced than me include callback hell, race conditions, NPM errors and debugging code (in hindsight, something like node-inspector would have come in handy [1]). Why Elixir? Well, for me OTP makes writing async code much easier. Message passing between GenServers or other processes is effortless. Fault-tolerance is built into the platform, as processes can be supervised and respawned when they die. It is based on Erlang, released 30 years ago and used by many large companies and projects [2]. Also, writing it makes me genuinely happy. :) I would consider Ruby mostly because I've had my hands in Rails apps and can make my way around them. I've also been blown away by many brilliant people I've met and worked with in the Ruby community. [1] https://github.com/node-inspector/node-inspector https://github.com/node-inspector/node-inspector [2] https://en.wikipedia.org/wiki/Erlang_(programming_language)#Distribution https://en.wikipedia.org/wiki/Erlang_(programming_language)#...
- edwinnathaniel 11y agoI'm with you on this one (except the Elixir part, never tried, can't comment). Many past NodeJS stories/use-cases from the big name companies like LinkedIN, eBay, Wal-mart seemed to use NodeJS as a front-end server. The back-end code is still something else (or perhaps even legacy code). I know someone who works for another big name company that uses NodeJS for their new project doing exactly this as well: a front-end server that communicates with multiple/many services behind the scenes. Those services are written in Java/C#/C++. Meanwhile, a few other NodeJS based commercial apps (e.g. Trello) does not look too complicated when they begin the project...