About a month or so ago I decided to dive back into Elixir. My first stop was to read “Programming Elixir, Functional |> Concurrent |> Pragmatic |> Fun” by Dave Thomas. I had read this book now several years ago when it was in serious alpha and I can say the finished product is quite good.
If you are coming to this book with a good knowledge of Erlang then I would say you can skim through the first third of the book or skip it completely by looking at the quick online introduction to the language. After that take some time and really read the rest of the book. The last third of the book particularly needs care with the meta-programming concepts.
Some of the topics in the book that I think are covered well, but could have
been done better where those with the Elixir OTP topics. I felt there were some
missing pieces in the explanation of what has been added to these ideas that you
can’t find in the Erlang OTP set. One example I have stumbled on is the
GenEvent.add_mon_handler that looks to be pretty handy. I’m not trying to say
the book did a terrible job, but be aware a deeper dive awaits after you finish