5 ms·
Unfortunately I can't comment on production Elixir use (yet), but as a proffessional Ruby engineer of 6 years and an Elixir hobbiest of 3, I think that Elixir's
by H12 5y ago
Unfortunately I can't comment on production Elixir use (yet), but as a proffessional Ruby engineer of 6 years and an Elixir hobbiest of 3, I think that Elixir's biggest drawback is its deceptively high learning curve.
The learning curve is "deceptive" because the Elixir syntax is very easy to pick up for someone familiar with Ruby and, once you get over the functional "gotchas", you can feel productive very quickly. Especially-so given how much you get out-of-the box with a standard "mix new" project.
The learning curve is "high" because in order to actually write Elixir in a way that scales well in prod, you'll need to get comfortable with Open Telecom Platform principles like GenServer and Supervisors, which will likely feel very foreign at first.
For any Rubyist working in Elixir, if you encounter a situation where your Ruby brain wants to start browsing Hex for a library, you should probably answer these two questions first:
1. Can we do this easily with GenServers?
2. Is there an Erlang standard library module that already does this?
Conversely, if you jump in expecting to rely on Hex the same way you rely on Rubygems, you're in for a bad time.
Ultimately, I think you really need someone (ideally two someones) who is comfortable with the Actor Model and OTP in order to use Elixir successfully at a business.
But if you can build that solid OTP foundation for your project, there's a decent chance you're in for a good time.
The real-word business cases provide some encouraging examples of that:
https://elixir-lang.org/cases.html https://elixir-lang.org/cases.html