Try to remember the first time you heard about this fascinating language called Elixir. Chances are, you had by the time been developing software using Ruby. If that’s the case, Elixir seems to have appeared out of nowhere until suddenly, it became the solution for all your previous problems. It is fast, clean, scales extremely well. It was almost like the Ruby you’ve always wanted to have, but never got.
I say almost, because as much as you want it to be, Elixir is not Ruby. The familiar syntax has definitely helped the language win the hearts of the broader developer community. Yet, under the hood, Elixir is all about Erlang. The Erlang that everyone tells stories about, as if it were some mythical creature, but no one dares to touch.
Why am I saying all of this? First, because I would love to see greater adoption of Elixir outside Ruby/Rails community. It was among that group of people where the idea first sparked, and I fully respect the fact. Nevertheless, I would love to see it growing out. As someone who discovered Elixir after years of doing Java, .NET and more recently, Go, I can say that there is enough goodness in it for everyone. Moreover, bringing people with different backgrounds (both technical and non-technical) will lead to an explosion of new ideas. Having more diverse minds will help us better understand and make use of the elephant in the room-Erlang.
This brings me to my second point. Erlang is not obscure at all, once you give it enough attention. It is actually oddly satisfying, once you start reading code written in it. I have had my few a-ha moments, when I figured the original inspiration for most constructs in Elixir. The point is, we shouldn’t fear Erlang, but try to understand it. This applies both to when things go well, as well as when they go south.
My biggest hope of all is that by understanding Erlang well enough, the Elixir community will start looking for new uses for it. Uses that go beyond being a scalable replacement for Rails apps. More daring and more ambitious uses, where Erlang’s resilience model can prove to be critical for the success of the mission. I’d love to see it used in transportation, space, as well as the domain that started it all- telecommunications.
Shoot for the moon. Even if you miss it you will land among the stars.
Have something to say? Join the discussion below 👇
Want to explore instead? Fly with the time capsule 🛸
You may also find these interesting
Dating back to version 1.2, the with operator is one of Elixir’s features that need a bit of time to comprehend at first. It often gets used in situations…
My journey with generic type parameters in Go continues.
Reason wanted me to make a choice, and I am so glad I didn’t. Because the more I kept delving into both Elixir and Go, the more I found out how complementary the two can be to one another.