Problem classes and contexts for which Elixir is not a good fit

Whilst reading Elixir books and listening to Elixir podcasts, I’ve heard people mention that Elixir is not a good fit for certain classes of problems, such as heavy computations and computer graphics.

Of course, one could get around such problems by interfacing with external programs written in other languages such as C or Go by using NIFs, I/O with ports or the Erlang distribution protocol.

There are also non-technical/more squishy reasons for why a language might not be a good fit, e.g. if you’re working with a larger team and you don’t have buy-in from your teammates or the organisation, or if your team is skilled with a different set of tools and needs to get something done quickly.

In your opinion, what are some classes of problems or contexts (technical or non-technical) where Elixir (and Erlang/OTP) would not be a good choice? When/why might you choose to use something else?

I’m not asking this question to instigate drama or controversy, but to get a better understanding of when it might be reasonable to consider something else for certain parts of an Elixir application.


Ah, nice! Thanks for the link.

For some reason, that thread did not show up when I searched before posting.

I found another related thread in that thread:

@AstonJ - Could you close this thread as a duplicate of the one that @peerreynders shared above? (I don’t think I have access to merge threads yet.)