6 ms·
I don't get point of using Node.js when compared to something like Elixir. Elixir's Phoenix can handle more numbers of concurrent connections as well as provide
by anildigital 7y ago
I don't get point of using Node.js when compared to something like Elixir. Elixir's Phoenix can handle more numbers of concurrent connections as well as provide reliability with better programming abstractions, distribution, pretty good language.
- np_tedious 7y agoI don't understand people eating hot dogs. Hamburgers have...
- runj__ 7y agoBecause javascript is one of the most popular programming languages in the world and the pool of Elixir programmers is almost non-existent?
- anildigital 7y agoFrom this https://www.ycombinator.com/topcompanies/ https://www.ycombinator.com/topcompanies/ Brex, Podium, PagerDuty use Elixir. They are in top YC companies, not a surprise.
- IggleSniggle 7y agoThanks for pointing those out. I would really like to switch to Elixir in my day job.
- runj__ 7y agoDo you think they got big because they use it or do they use it because they're big? Pre-optimization is the root of all evil, my dude.
- anildigital 7y ago@runj__ You should read this blog post by Brex founder. He really says how Elixir suited well to the problem they were trying to solve https://medium.com/brexeng/why-brex-chose-elixir-fe1a4f313195 https://medium.com/brexeng/why-brex-chose-elixir-fe1a4f31319...
- ronsor 7y agoDiscord used Elixir from the start
- cpursley 7y ago> pool of Elixir programmers is almost non-existent Nonsense. There's more Elixir programmers (or at least those who want to program Elixir professionally) than there are Elixir jobs.
- deleted 7y ago[deleted]
- fortydegrees 7y agoMore Elixir programmers than Elixir jobs is not an incentive to learn and/or use a language.
- cpursley 7y agoNo, but Elixir/Erlang OTP is worth learning in and of itself.
- ClumsyPilot 7y agoI mean, sure, but i already have a long list of that, probably longer than I can learn in a lifetime. Things get prioritised when they help pay the bills
- IggleSniggle 7y agoI am totally with you on Elixir/ Phoenix. But using Node.js is about leveraging frontend devs to get productive on the backend fast. At least, I think that’s the idea. Maybe also leveraging Google’s dependence on V8 (and thus all the engineering love it gets), although I don’t think that’s really a great argument compared to the EVM.
- hombre_fatal 7y agoWell, Node.js is just good tech with a simple async-everything concurrency model.
- specialist 7y agoYa. nodejs is "JavaScript bindings for libev". Deno (also by Ryan Dahl) "TypeScript bindings for libev" may become a viable successor. https://deno.land/manual.html#introduction https://deno.land/manual.html#introduction
- IggleSniggle 7y agolet’s hope so! Looks like a great project
- monus21 7y agoIt's not about which is the best technology. The barrier to entry for Node.js is next to nothing and the size of the ecosystem is incomparable to Elixir. Which means tons of companies will go with Node and feed back to the ecosystem and so on...
- mtberatwork 7y agoIf we are going on size of ecosystem/what companies are invested in/etc, then you may as well stick with Java and the JVM with something like Vert.x. No need for Node.
- PunchTornado 7y agonodejs ecosystem is much larger than the java one. also the amount of money companies invested in node is at least on par with java. think only about google chrome.
- winrid 7y agoThere's no advantage to using Node in a lot of cases though. Maybe if you're creating a microservice to generate email html or something. Data/state management, stream/job processing? Java or Kotlin all the way. I have written a lot of Node services. Spent six years doing it. Gimme Java plz.
- viraptor 7y ago> The barrier to entry for Node.js is next to nothing Assuming existing experience with JS / npm / async style. If you don't have that, I'm not sure which would be harder to start with. Given a little bit of experience with each, I'd actually lean towards elixir being a simple choice. Then again it depends on whether you're cool with training new devs in case of lack of elixir people.
- Thaxll 7y agoThis is actually not true, if you take a really optimzied C/C++ library for WS Nodejs will crush Elixir by a large margin. Elixir / Erlang is slow and consume a lot of memories compared to more native languages or C libraries. Ex: https://github.com/uNetworking/uWebSockets https://github.com/uNetworking/uWebSockets
- PopeDotNinja 7y agoIsn't this like saying one can bolt a rocket onto a Ford to make it much faster than a Toyota? One can incorporate C/C++ into Elixir, too.
- codesushi42 7y agoAt that point, you may as well implement your own server in C++ using epoll.
- winrid 7y agoNah. Devs don't touch C++ code in this case.
- athenot 7y agoThere are a handful of languages that would be suitable for this. The "right one" to use depends on more than just the language features for that task: - What third party libraries do you need to use? Some languages have very good support for some, and less for others. - What are the internal integrations you need to support? Can they be over the network or are you calling into code in a particular language? - What is the pool of skills available to you as a team? Do you go with a language that has a reputation of being really good for this task but of which the team knows very little (and therefore will have a learning curve working out the common pitfalls), or do you go with a better understood language which the team has already mastered, and stretch it to go beyond what mere mortals do with it? Note: there's no right answer here, both options have severe drawbacks. - Related to the previous: what's your company's culture regarding technical diversity?
- anildigital 7y agoThis is a very typical diplomatic answer to stick with old, known programming languages.
- arcturus17 7y agoMaybe because a lot of the time it's good advice?
- SketchySeaBeast 7y agoOften case that isn't the wrong way to go. Newer doesn't mean better, and there's always trade-offs to consider. "It's newer" by itself really shouldn't be much of a consideration.
- nevertoolate 7y agoErlang is older, more suitable, more stable and less well known. Nobody mentioned that it is better because newer.
- SketchySeaBeast 7y ago
- deleted 7y ago[deleted]
- tschellenbach 7y agoYou could make the same argument comparing Elixir and Go, or Go and C++
- z3t4 7y agoThe difference in performance between any languages are very small, like only one order of magnitude, but it's usually possible to get two orders of magnitude better performance in any language by optimizing. Eg. If your manager wont allow you to cut the AWS bill 100x by doing some optimizations. He she/she will certainly not allow you to rewrite everything in another language in order to cut bills by 10x.