I read Programming Elixir from the beginning to end this time. A couple years ago I read the first 70% and stopped.
I wanted a book that will give me an overview of all the major language features, so that I will know what words to Google and I would know where in the book I could find examples. I read the paper book but I also have the digital PDF that I can quickly search as a reference.
I fully recommend this approach for any technology you want to tackle. I prefer a video series as an introduction, and it will give you the names of all the things to Google and look up in the documentation, but it can be very time consuming to reference the actual video when you just want a refresher on the syntax for a specific thing that was covered. Put in the time, read a book.
My only gripe with the book is that it is written at too high of a level to easily digest, but I was clearly warned about this right on the back cover where it explicitly states that it is aimed at expert level readers. So I really should not be complaining, but it was a very dense read. It does have “Digging Deeper” sections at the end of a lot of chapters, I read them, but if you just want an overview, there is a lot of detail to slog through here, maybe more things could have been placed in “Digging Deeper” sections to give people the option to skip. Dave might be too smart for me, he will do things like read MIDI files or read things off the frame of a network packet to give an example of how to use some language feature of Elixir. I would prefer more straight-forward examples that just uses toy data to show what the language does, I would prefer to look up specific examples on how to parse a MIDI file if I ever need to.
The book gave me everything I needed and more, so I do recommend it. But I worry that it could scare off non-expert programmers and make Elixir look difficult. Maybe my actual gripe is that I see this book as the definitive guide to Elixir, that everyone should probably read, and I would have liked for that to be an intermediate book with this book being the optional “Digging Deeper” book.
Learn Functional Programming with Elixir is aimed at beginners. That wasn’t what I wanted but I’d like to read it at some point to know if I can recommend it.
Elixir in Action might be the intermediate overview book I was hoping for.