5 ms·
> Why Elixir + Erlang are not more popular for high concurrency projects is a mystery to me. 1) Because the amount of "high concurrency" you can handle with a
by bsder 1y ago
> Why Elixir + Erlang are not more popular for high concurrency projects is a mystery to me.
1) Because the amount of "high concurrency" you can handle with a single machine with "standard" languages keeps moving up every year.
2) Because you had a single, nigh undocumented, very impenetrable to port implementation of BEAM for the longest time.
3) Because "Erlang" isn't the magic. OTP is the magic. And that requires that you shift your mindset dramatically. And you can do the OTP abstractions in other languages!
4) I think Scala sucked up a lot of Erlang's oxygen for a long time. Erlang is helping with that.
- d3ckard 1y ago1. Fair, but at the same time - OTP is the only sane concurrency framework. To the point I still struggle to comprehend why it wasn't copied. 2. Fair. 3. I am not aware of a single language doing OTP abstractions, especially implementing preemptive scheduler for green threads. 4. Possibly, but I haven't seen a single instance of a company choosing between the two. I think marketing is a way better explanation to be honest. Jose lives in Poland, was very active and a lot of Ruby shops moved to Elixir.
- lamuswawir 1y agoThere have been multiple attempts in various languages to implement Erlang-like processes and claims of parity, Erlang processes remain unbeaten at what they do.
- foldr 1y agoGo has a preemptive scheduler for green threads.
- d3ckard 1y agoOh, indeed, since 1.14. Nice to see them moving this direction.
- agos 1y agoOTP is the magic but the ability of the Beam to handle that many processes gracefully is part of the magic
- shaklee3 1y agoC++ and its libraries can do everything erlang does with concurrency, and faster. erlang remains niche mainly for that reason.
- victorbjorklund 1y agoYou can build anything with anything. Not always a good idea. There are a reason few web apps are built using C++ directly.