Why Elixir?

I’m using Elixir because it seems to me like a natural fit for the path I was going down as a developer.

Like a lot of us I started out in high school and college being taught Java and OOP. Once I graduated and got into the industry in 2015, the company I worked for was almost entirely .NET, and always with SQL Server.

That combination had worked for most of our projects (admittedly most of them are pretty simple CRUD apps), but being the millennial that I am I had to see what else was out there. Not like I didn’t like C#, I still think it’s a great language and the ecosystem is only getting better with the rise of .NET Core, but I just wanted to experiment.

So for the next year I went around chasing shiny objects and reading opinionated blog posts about why language X is better than language Y, but all the while never actually getting anywhere. I knew that I wanted to build better software, but all I actually got was a bad case of analysis paralysis.

Eventually I came to the conclusion that most languages were just different shaped hammers, all trying to solve a very similar problem in a slightly different way. So I just decided to focus my time on .NET (which my company was happy about) and for a while I was happy.

But then a project came along that was different from the rest, and i saw it as solving a different problem then the ones we had previously solved. So I ventured into the depths again, but this time I tried to stay as close to the .NET pond as possible, and eventually I found Orleans, which is an implementation of the actor model (sort of) developed by Microsoft Research. I had heard of the actor model before, so I decided to dig a little deeper. I went through all the Orleans documentation and tutorials I could find, and then eventually found Akka.NET, and I really liked what I found. Despite that, it felt like these frameworks were simply bolting on the actor model, and I wanted the real thing. So when on vacation this summer, I found an Elixir tutorial by Rob Conery (a seemingly reformed .NET developer turned Ruby and now Elixir), and went through it. And I gotta say, I am having a harder and harder time writing C# with every passing day. Elixir provides an entirely different way of solving problems, and I love that about it. Not only do I like writing Elixir code, but I actually feel like I am learning new skills instead of just learning another new syntax.

Elixir feels like the natural next step in my “Programming Progression”, and I’m really enjoying it. Keep up the great work!

6 Likes