Something New, Something Old

development technology

Working with technology in my day job, I enjoy reading various sources and learning what others are doing with technologies they use in their day jobs and lives. Two sites that I frequent are Hacker News and Slashdot.org.

On Hacker News I have noticed links about a technology called Elixir. Candidly, I skipped over them because there are so many technologies available these days, and only so many hours a day! I am not one easily mesmerized by shiny new tech. I tend to be more pragmatic.

(For those of you interested, in my day job, my toolset consist of C#, .Net Core, Entity Framework Core, SQL Server, Angular, and Azure DevOps. In years past I have worked in languages like C, C++, and even Visual Basic. 😀)

When a coworker announced he was leaving to pursue an opportunity that excited him, I was naturally curious as to what tech stack the new employer was focusing their energy on? His reply, “Elixir”. Curiosity killed the cat. I went back to the Hacker News page and searched for Elixir. I believed that folks' comments there would more than likely yield a good cross section of real world experiences. Many times in the comments people share tidbits that helped them.

As I perused comments I was a little more interested. I went to the Elixir language home page and read more there. The selling points: scalability, low-latency, fault tolerance, and concurrency stood out to me.

Built on top of the Erlang tried and true virtual machine created in the late 1990s, called BEAM, Elixir brings something new with something old. From the testimonials scattered across my search results, for many it appears to be a perfect marriage.

Elixir is a functional language. From what I am reading, Elixir doesn’t have loops. Loop like functionality can be implemented using recursion.

I have spent the majority of my developer life using object oriented tools, but of late I have been hearing more about functional programming techniques from coworkers. Learning more about functional programming also piqued my interest.

Intrigued, and wanting to try and understand a little more about the world to which my friend was going, I installed Elixir on my Mac. I found a VS Code extension and I started tinkering. That’s where I am now. It’s a different world than the one with which I am accustomed. That’s not a bad thing!

There is a lot of detail about Elixir that I missed in such a small post. Having really only begun on my own journey into the Elixir world, I hope, if you are reading this and you are a deep understander of the Elixir ecosystem, that you will not take offense to my light write-up, but will see this as the writing of one who sees great value in getting to know and understand Elixir!

I would encourage you to watch the following video that gives the Elixir story in the words of its creator РJos̩ Valim. Enjoy!!!