This discussion might be interesting for anyone who is comparing Phoenix (Elixir) and Akka (Scala).
The main difference between BEAM and Scala/Akka is scheduling.
In general, Scala+Akka is better for high throughput computations. E.g. scientific calculations where you need to calculate everything before finishing.
BEAM shines for low-latency systems. E.g. in web servers, you prefer the user to get an answer quicker even if that means lower throughput. I did an article once showing how exactly schedulers trade latency for throughput: The unintuitive latency over throughput problem – tkowal
WRT Phoenix, it is a web framework like Play for Scala. BEAM doesn’t need actor framework because actors are part of the language.
WRT “library with auto-scalable clustering”, I don’t believe it is necessary. Erlang nodes in one network started with the same “cookie” automatically connect to all other nodes.
So, in the end, the question is: what are you going to build with it? Machine learning? Scientific computations? Recommendation systems? Take Scala Web applications? Game servers? Anything that serves user requests? Take Elixir.
There are more opinions in the thread: