When learning, what order of books did you start with?

So, I’ve just finished Introducing Elixir. I did skip the last chapter on Using macros to extend Elixir as I will get to that when I get a good grip on Elixir and OTP.

Now, I recently bought Dave Thomas’ ebook Elixir Programming 1.2. Should I go into that next or maybe Elixir in Action?

Also, how important is it to learn Erlang at this point? Should I wait till I have a better grasp on Elixir? I did look at Erlang in the past and boy did I hate all the boilerplate. After being spoiled with Elixir, I’m not really looking forward to digging into Erlang unless it will be beneficial.

Also, has anyone read Francisco Cesarini’s new O’Reilly book, Designing for Scalability with Erlang/OTP? I have heard great things about this book but am wondering how much I’ll enjoy going through Erlang code. LOL. I’ll bite the bullet if I have to but would have loved the same book in Elixir. Maybe someone else who’s Erlang phobic can tell me of their experience with that book.


@alamba78, I am using Elixir with Phoenix and this is my current path:

  1. “Introduction Erlang” - started reading this book, but switched to “Introduction to Elixir”, because I felt that I need only Elixir at that moment.
  2. https://elixirschool.com
  3. “Introduction to Elixir” - started reading this book, but switched to “Programming Elixir 1.2”
  4. @pragdave “Programming Elixir 1.2/1.3” - extremely useful.
  5. @chrismccord “Programming Phoenix” - extremely useful.
  6. Paulo A Pereira “Elixir Cookbook” - good book, lots of examples.
  7. @sasajuric “Elixir in Action” - super useful to understand OTP.
  8. @bentanweihao “The Little Elixir & OTP Guidebook” - next book to be read.
  9. @chrismccord “Metaprogramming Elixir” - started reading this book, but I don’t see how I can implement this knowledges, yet, so I switched back to “Programming Phoenix”
  10. Videos in Youtube about Elixir and Phoenix
  11. Blogs.

I also is interested if “Elixir in Action” should be read?
Already read. I advise to read. I think I will read it again several times :slight_smile:


I prefer Elixir in Action. It’s less hand holdy, but you’ll be fine if you can write some basic Elixir at this point.


Have a look at this thread too:

Here’s my post from it:


Great suggestions by everyone who’s replied. I was part of the review program for the Little Elixir and OTP Guidebook, and as my first introduction to Elixir, I found it not suitable for beginners. I’ll have to come back to it once I get past Programming Elixir 1.2 and Elixir in Action. I can’t wait to get into Programming Phoenix as well! I may have to get that and sprinkle that book in somewhere in the middle.


I found this and thought I’d share:

Also, not a book, but a great talk by Chris McCord on Elixir at RailsConf 2014:

The slides/markdown pages can be found on his GitHub page, just Google Elixir Express and Chris McCord.

I went through the video pretty much as I completed the meat of Introducing Elixir and it helped solidify a few things by seeing it again.


This is another thread worth looking at:


When I started learning Elixir, I went with Learn You an Erlang for Great Good!. It is easily one of my favorite technical books. Designing for Scalability with Erlang/OTP is awesome too!


Currently reading Elixir in Action, I can say it’s has a better introduction than Programming Elixir, both I just started reading.


What do you mean by a better introduction? To the language basics or the books intro to the topic? (How far are you through both?)

I have thought about reading them together too :lol:

1 Like

Just FYI, after reading Introducing Elixir and now 30% of the way through Programming Elixir 1.2, I can say that both books are great for beginners but I’m glad I read it in the order that I did since the examples and exercises in Programming Elixir 1.2 gradually get a little more challenging for a beginner. So, your foundation should be solid by the time you finish Introducing Elixir and come into Programming Elixir 1.2, which helps you get through the examples and exercises without feeling like you don’t know jack. I haven’t done the exercises, but I have read some of them and thought about how to solve them. I’ll come back to actually doing them once I finish the book.

Both books dive into Elixir with very little Erlang, aside from how to use Erlang modules and maybe some cursory information regarding why Elixir does certain things the same or differently than Erlang. So, you don’t need to have Erlang knowledge to understand Elixir. But, to do more advanced programming, it is probably a wise decision to read at least 1 or 2 books on Erlang. I’ll probably dig into a few of the books below once I complete the books on Elixir that I have set aside:

Programming Erlang (heard great things)
Design for Scalability with Erlang/OTP (heard great things)
Learn You Some Erlang for Great Good (heard great things)
Erlang and OTP in Action (not heard much about this one)


@AstonJ I’m at chapter 6 on Programming Elixir, and only Chapter 2 on Elixir in Action. Programming Elixir started with Pattern Matching, while Elixir in Action started with Modules and Functions or how to organize code. Although in Programming Elixir there are test or little quizzes which is better. Not too far yet on both books, judgement may change :slight_smile:


Dave Thomas book for sure is a good start but I’d jump to a more OTP, Erlang fundamentals after that.


Just an update on Programming Elixir 1.2. You will notice as you progress through the book that Dave jumps into List comprehensions in an example without much of an introduction. But, after re-reading that section, it does make sense. There’s also examples using Regex, so brushing up on PCRE Regex would be helpful to really understand what’s going on.


When you need to get started fast I’d just recommend starting spending a day or two on elixir syntax in IEX.
Then just get stared with the Programming phoenix book and read up in programming elixir as you need.
This book is just fantastic and it is enough to get you quickly going doing what you will really learn from. Actually coding something that can have value.

I see it especially now as I try to teach basics to others.


Not entirely books, but just my 2c:

https://www.learnelixir.tv/ really good of screencasts to watch about Elixir. Watched it when I was working out and introduced me to some basic stuff.

http://www.redfour.io/ recent stuff, I have scanned through it. Looks like very good intro, at least the book version. I need to watch the videos at some point.

Elixir in Action seems best if you know Erlang already, I guess that’s sort of target audience. Programming Elixir 1.2 is okayish but does not cover a lot of important stuff. It covers philosophy and general language feeling very well, however.

The Little Elixir and OTP guideboo - so far my fav book about Elixir, I think.


Mine too! (But seriously, I’m super glad you like it!)


I absolutely love this book. I still recall a couple of years ago when stumbling upon this book in the library thinking psst, I’ll never look at Erlang or whatever this OTP thing is. Turns out, it is packed with really good content, and it’s a book I refer to pretty often, along with LYSE.


Does it matter when the books were published? It looks like Programming Elixir is the only one that is updated for 1.2. Does that even matter?

What about The Little Elixir & OTP Guidebook? I see that it is in the works.

Thank you.


When I started out the books wasn’t released yet, and they came out as early pre-releases with a discount so I just bought them as they were announced. I read David Thomas’ Programming Elixir a couple of times as it was updated while the language was developed, and I read Elixir in Action when it was almost done and re-read it when it was final.

Today I would recommend reading Dave Thomas’ book for the introduction to the syntax and topics such as recursion and immutability; then read Elixir in Action but skip the first section as this has already been covered in Programming Elixir 1.2

Elixir in Action is a must if one want to understand how to build systems with state with OTP in Elixir.