Two years of Elixir at The Outline
I&#x27;m bullish on Elixir and I agree that ExUnit deserves to be singled out.<p>Whether you consider Elixir fast or slow probably depends on what you&#x27;re coming from and what you&#x27;re doing. Personally, I wish the performance story would significantly improve.<p>But, the reason I think Elixir should be your goto language comes down to process isolation and the ecosystem around it (the synergy of the runtime, libraries and language). If you&#x27;re doing a pure web app, you might not fully leverage it. But, for anything that involves long-lived in-process data (like a workflow&#x2F;pipeline, or persistent connections), the way to approach this in Elixir (with supervisors, processes, message passing and pattern matching) tends to result in highly cohesive and maintainable code. Message passing is a pretty effective antidote to coupling.<p>I just finished writing code that had to take a stream of unordered time-based data and dedupe it over a small window. I&#x27;m not overly pleased with the final result, but it&#x27;s completely isolated from the much larger app it sits in, easy to refactor&#x2F;rewrite, with no risk of someone taking a shortcut and just accessing some internal detail, and testable.<p>I feel like I wrote a microservice, but without any of the challenges of a separate app.