A friend of mine wouldn’t stop talking about how great and performant Elixir is and I sort of believed him, because the CEO of an IT consulting firm that works with multiple companies in Mexico and the US recommends Elixir as well for new projects.
Elixir has been a pleasure to work with, it’s been quite fun to learn and quite exciting to see how the pieces work together.
I don’t think Elixir is and all-in-one solution for any project but it is a language that fits web applications very well as well as applications where you need tons of parallelization because of how it works behind the scenes.
The good
The good thing about the Elixir ecosystem is that it comes with everything out of the box:
The other good thing is that Elixir scales very well when you need to parallelize work, I’m hoping I can see this in action soon.
The bad
The open source ecosystem is not as robust as the one you have for example in Ruby. In Ruby you are going to find companies like Stripe, Twilio, etc already have API client Gems that you can just install, in Elixir that’s not always the case, sometimes you have to either code up your own client in your project or create a dependency yourself and make it open source.
How I learned
I read this book called “Programming in Elixir”, I’m still not done with it but I’ve read the first 12 chapters and I’ve read what I need from the more advanced chapters.
This book is great, I have no complaints at all, the examples are clear and you are going to have a good time if you already know the fundamentals of high order functions from Javascript and how things like map, each and reduce work. It’s not required to know these though.
The other important part was to just build the product and I was going back and forth between coding the project, coding the book examples and reading.
The future for me
I’ll keep dabbling with Elixir and maintaining this project using it. I’ve had a lot of fun building this little project and learning Elixir while doing so. I’m pretty sure the project will run just fine in production if it hits a decent scale but as I run into problems I’ll keep documenting them here on Indie Hackers!
Why learn Elixir then?
Two reasons:
From 0 to 100 Users: How I Built an AI Humanizer as a Student
I Built Check Analytic Because Privacy Turned Analytics into a Liability! 🔥
Depending on the context, this might be a no-go situation. In SaaS, hosting is not the most expensive cost; it's engineers' pay. So if you require twice the amount of time to build X in Elixir, which save costs on hosting, but you could have saved time by using a language Y where you can just grab a library that does X, it could be cheaper to use Y.
Otherwise, yes, Elixir is a great language. I particularly like pattern matching and wish more languages adopt that.
I'm just adding a comment to boost this post. Fully agree with it. Elixir and Phoenix are incredibly beautiful pieces of software.
https://www.phoenixframework.org/ has a video on the homepage about building a Twitter clone in under 20 minutes. It's a great showcase of how powerful the language is. Very Rails-like.