Have you moved away from elixir? If so, why?

A big reason I’ve slowed down my Elixir use is because of the library designs which try to reduce compilation on code changes. Personally, I like the opposite: to make my compiler and tools do more work, not less. E.g., I’d like the compiler/linker to tell me if I misspelled a Phoenix route, but it can’t. The framework was designed to avoid the implementation issue of compilation speed at the expense of safety. Plus, I’ve heard that this “late linking” is desirable when you want to hot-swap updated modules into a running system.

But that’s a feature I don’t need. All of my Elixir (and /Phoenix) apps are traditional applications: I code and deploy. Then I repeat: make changes, then redeploy. In the case of a web app, my environment (like Heroku) handles smooth rollovers. In other words, I don’t need the extreme runtime flexibility of hot swapping code, yet I pay the “price” for it when using Elixir. I suspect that a lot of other general purpose developers are in the same boat. See, e.g., https://elixirforum.com/t/how-to-get-a-warning-on-undefined-module-use/16332

So I’m feeling like the systems aren’t a good cultural or technical fit for me.


This actually makes me sad! Because I appreciate so many other aspects of the technology and the community.

4 Likes