Darko Fabijan wrote this on January 21, 2014

Learn Elixir to stay young

New libraries, frameworks, databases and languages appear daily. It’s obvious that you cannot and should not learn, use, or even follow each of them with too much attention. You probably already have those filters in place. From experience I know that some developers tend to set those filters to be too harsh because of a constant flood of new tech. If you feel that you have almost forgotten that newbie experience which you get when you are playing with something new, it might be a sign that your tech filters need some adjustment. If you are open to that idea please keep on reading. Elixir might slip through.

Why Elixir

Many say that next programming languages that will matter will be LISP and/or Erlang descendants. Just by simple deduction it seems that Clojure and Elixir are the cool kids that you should hang out with.

I haven’t had a chance to play with Clojure, but I got into Elixir after researching about Erlang and I really like it. It runs on Erlang VM, has a really nice Ruby-like syntax and allows you to write powerful DSLs with macros. The fact that it runs on Erlang VM with its' actor-based architecture means that you can not only transparently run your application across multiple CPU cores without thinking too much, but also run it across multiple machines in almost the same way.

If you ever touched Ruby you know that syntax can really matter and how it just feels nice under your fingers. Well for Elixir I could say the same. And finally macros, originated in LISP, are also available in Elixir because of it’s homoiconicity. Macros give you the power to extend the language as you feel needed and that means that you can turn Elixir in a language specialised for solving your particular problem.

If these few lines got you exited about Elixir and you want to read more, below I have listed a few resources that will help you get started.

Books

Programming Elixir by David Thomas is a great book. I read it once during the summer and recently went through it again. In the second reading I was already familiar with most basic concepts so I was ready to absorb many details I missed the first time. It could be the first book on your menu.

Introducing Elixir by Simon St. Laurent and J. David Eisenberg is the second book that is I guess is the same kind of beginner’s book. Those two will be in print around June this year but of course you can get ebook versions right away.

The Third book would be Elixir in Action by Saša Jurić, scheduled for spring 2015, but is also available through early access ebook program. The fourth and last one that I am aware of is The Little Elixir & OTP Guidebook by Benjamin Tan. There is no publishing date for that one yet.

Elixir Sips

There’s a fantastic screencast series on Elixir by Josh Adams. Although I think that screencasts may not the best medium to acquire new knowledge when you have some experience, I think they are amazing when you are just starting out. Josh does great job and I am sure he will do big things for the Elixir community in the same way as Ryan Bates did for Ruby/Rails community. There are a few episodes that are free. Go and support Josh’s great work. It’s only $9 per month.

Elixir fountain

Fountain is weekly newsletter created by HashRocket, a company that was originally, just like Rendered Text, focused only on Ruby. Newsletters contain only a few links since community is very young but it’s a good way of staying up to date with latest development.

Mailing list & Google

Googling for random error message will probably make you desperate. First result will not be a solution on StackOverflow for the exact same problem you had, the way you might be used to with languages that have been around for longer. A few years will have to go by before that happens. Community is small but it’s growing really fast. This is of course understandable since the language hasn’t hit 1.0 yet. You will probably have to dig around on the mailing list or ask on IRC channel, but all that is part of the excitement.

Elixir is awesome. You will discover and learn many new concepts from computer science that are really powerful but neglected in other languages. Ultimately Elixir will replace Node.js and Ruby in many places and now is a chance to be an Elixir guru even before the waves start rising.

comments powered by Disqus

About Darko Fabijan

Rendered Text co-founder. Enjoys breaking new ground and exploring tools and ideas that make lives of developers interesting and productive. Nowadays has less time to write code but has great pleasure in discussing it with the team. He spends his free time cooking, hiking and indoor gardening.

Suggested Reads

Inject is a fundamental building block

Inject is one of the fundamental, and most versatile constructs available in functional languages. It can be used to implement map, select, max, all? and a bunch of other iteration related methods. Unfortunately, many programmers are not aware of its awesome powers. This article is here to improve this fact.

Contact

Rendered Text is a software company. For questions regarding Semaphore, please visit semaphoreci.com. Otherwise, feel free to get in touch any time by sending us an email.

Rendered Text
Svetozara Miletica 10
21000 Novi Sad
Serbia