rms.mrcs
When would you NOT use Elixir?
A couple of days ago I was discussing with a friend about different approaches to write microservices.
He said that if he was going to write a new microservice platform from scratch, he would probably use Go + Docker + Kubernetes + Rancher + Kafka/RabbitMQ.
I said that I would probably just stick with an Elixir’s umbrella using supervision tree and process discovery across nodes, using an external MQ or even Elixir Port to communicate with external actors when needed.
In the end we agreed that Go and Elixir proposes their own approach to the same problem, and that the context of the problem would tell which solution could be the best fit.
For me, this discussion raised a few questions that probably will be answered through experience and time.
Since a question like “why elixir is the best language in the world?” in the elixir forum would have very biased naswers, now I ask you: when would you not use Elixir?
Most Liked
rvirding
You might like to point out to him that RabbitMQ is implemented in Erlang so in effect he would be using almost Elixir, just with a bit of difference in the syntax. ![]()
rvirding
Wings3D was implemented by Björn Gustavsson of the Ericsson OTP team who has been working with the compiler and the BEAM for over 20 years. It is rumoured that he improved the efficiency of floating point calculations for this tool. 
andre1sk
If I can’t afford the overhead? there is 0 chance I’d reach for Go though
I think Elixir + Rust is pretty much It for wast majority of use cases. And for use cases where Elixir would be too much overhead I’d reach for Rust. Both Rust and Elixir make writing concurrent code sane and safe in Go you can shoot yourself in the foot very easily and I’d rather “fight” compiler a bit than debug race conditions in prod. (not to mention how a lang. in 2018 can exist without sane package manager is a mystery).







