By Sasa Jurić
Recommendation: Essential if you are looking to explore all that Elixir has to offer.
Who is the target audience?
The book is intended for beginner and intermediate Elixir developers. As the book progresses, the author dives into topics that get more complex, which might not be suitable unless you already understand the basics of Elixir.
Elixir in Action covers the full breadth of all that is Elixir, from the basic syntax to building distributed, fault tolerant, and scalable systems. This is definitely a lot, especially if Elixir in Action is the first book on Elixir you’ve read.
The book is broken into three parts: The Language, The Platform, and Production.
If this is your first foray into Elixir, I would suggest reading The Language and then putting the book down and write some code. You’re going to be able to understand and absorb so much more from part 2 (The Platform) once you become comfortable with the syntax and the functional paradigm. The author provides numerous exercises to extend the examples he provides throughout the book.
The Platform dives into what really makes Elixir shine, which is the BEAM and the concurrency model that enables you to develop scalable and fault tolerant software. I would highly suggest working through the examples (or start a side project!) while reading this part. Reading concurrent code can be tough, so being able to see it in action will accelerate your understanding of how to develop software in Elixir.
Production covers the basics of how software in the Erlang ecosystem is generally packaged and deployed. This is possibly more involved than other languages you’ve worked in because Elixir allows you to do hot code upgrades without restarting the system.
I read Elixir in Action about a year into my Elixir journey and I definitely wished I would have read it in the beginning, but I still learned a lot and would recommend it to anyone interested in Elixir.