FWIW, I’d answer the original question: no, there is absolutely no issue to use 1.8 while grokking through the examples given for 1.4 and that would not imply the lack of somewhat essential to learn as a beginner.
EDIT: oops, I meant to reply to the topic in general and not necessarily @peerreynders.
And for what it’s worth from a fellow beginner (experience: ~20 years of Java web, ~6 years flirting with Clojure), I’m halfway through Programming Elixir 1.6 and decided that I wanted to slow down and get more background details.
I had a similar list in my head, so thanks for validating. Here’s my plan:
Programming Erlang 2e – I’m really enjoying it!
Learn Functional Programming with Elixir
Elixir in Action 2e
Programming Elixir 1.6
Programming Phoenix 1.4
I might inject Programming Ecto before Phoenix, though. I started getting a little confused by the Ecto chapter in the Phoenix book; mainly a vague sense of lack of context.
Does it have to be a paper book? Why not an ebook? You can get 35% off most of them with your forum discount and not only will they be more up to date, but if in beta you’ll get updates as the book is written
With regards to Introducing Elixir, it is written by someone who wrote a similar book for Erlang, so might be a nice book for those coming from Erlang. I have the book, but haven’t actually read it yet so unfortunately can’t offer a review.
Scanned through it after I purchased the ebook in Oct 2016 for US$11 during an O’Reilly sale (more recently it was also part of a Humble Bundle).
At that point I already read most of or finished:
Programming Elixir 1.3
Elixir in Action 1e
Programming Phoenix (1.1)
So given that background I concluded that I likely had already covered everything already. And I was also left with the impression that the previous books covered the material more effectively for me as a reader.
Given your declared background (Python, Powershell, C#, Java) you face the following hurdles:
understanding recursion and the whole concept of tail recursion versus non-tail recursion
Learn Functional Programming with Elixir should address the first two, while Elixir in Action 2e expands on that to tackle the third - more effectively than Introducing Elixir can.
Free Chapter 1 from Learn Functional Programming with Elixir:
The first Elixir book I read was Introducing Elixir and that was only 18 or so months ago so I think you’ll be fine with it to give you an introduction and get you going. I really enjoyed the book and it was clear enough that the language clicked with me quickly.
Given than you are already covering Erlang you may want to put
on your Radar (post - Elixir in Action)
That is my typical recommendation. It reduces the number of new concepts one has to deal with when learning Phoenix and builds the Ecto skills to a much more useful level (though SQL still is a separate pre-requisite).
Read it an enjoy it. If there are things which don’t make sense come here and ask or look in the docs. It’s not going to make you an expert but it will introduce you to Elixir and you’ll get a good feel for it.
I also understand liking paper books and I usually end up with both paper and eBook copies. I can’t read pages and pages of text from a screen but love having searchable text and the ability to have multiple books on a single device like an iPad.
Anyway, I hope you enjoy the book and welcome to Elixir!
Learn Functional Programming with Elixir (Beginner): I didn’t read it, but it seems to cover the basic stuff in depth, so no intermediate / advanced topics. It seems to be a great book when you want to start your career in programming with Elixir.
Programming Elixir (Intermediate) or Elixir in Action (Intermediate): They are similar in essence, both are suitable for beginners with Elixir and functional programming, if programming isn’t new to you, then you’re good to go.
Programming Elixir is more practical, you’ll learn Elixir by doing exercises.
Elixir in Action is more technical, you’ll gain a deep understanding on how things works.
Both are worth it, sadly I can’t make a fair review for “Learn Functional Programming with Elixir”. If the book you mention focuses in Elixir 1.4, then some modules are deprecated, like HashDict or HashSet.