bsder 2 days 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.

3
d3ckard 2 days ago

1. 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 2 days ago

There 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 2 days ago

Go has a preemptive scheduler for green threads.

d3ckard 2 days ago

Oh, indeed, since 1.14. Nice to see them moving this direction.

agos 2 days ago

OTP is the magic but the ability of the Beam to handle that many processes gracefully is part of the magic

shaklee3 2 days ago

C++ and its libraries can do everything erlang does with concurrency, and faster. erlang remains niche mainly for that reason.

victorbjorklund 1 day ago

You can build anything with anything. Not always a good idea. There are a reason few web apps are built using C++ directly.