Preface
In 2010, I was given the task of implementing a system to transmit frequent updates to a few thousand connected users in near real time. My company at the time was mostly using Ruby on Rails. But for such a highly concurrent challenge, I needed something more suitable. Following the suggestion of my CTO, I looked into Erlang, read some material, made a prototype, and performed a load test. I was impressed with the initial results and moved on to implement the whole thing in Erlang. A few months later, the system was shipped, and it’s been doing its job ever since.
As time passed, I began to increasingly appreciate Erlang and the way it helped me manage such a complex system. Gradually, I came to prefer Erlang over the technologies I had used previously. I began to evangelize the language, first in my company and then at local events, then, finally, at the end of 2012, I started the blog The Erlangelist (http://theerlangelist.com), where I aim to showcase the advantages of Erlang to programmers from OO backgrounds.
Because Erlang is an unusual language, I began experimenting with Elixir, hoping it would help me explain the beauty of Erlang in a way that would resonate with OO programmers. Despite the fact that it was at an early stage of development (at the time, it was at version 0.8), I was immediately impressed with Elixir’s maturity and the way it integrated with Erlang. Soon, I started using Elixir to develop new features for my Erlang-based system.