

Full description not available

K**N
Learn from the best
I spend a lot of time reading tech books, and am always eager to read a book about a new programming language. This book is different. Instead of teaching us the basics of syntax and the mechanics of how to "type" in that language, we get to learn how to _think_ in Elixir and OTP. More importantly, we see examples of patterns and practices and tips that help us analyze the problems we're trying to solve before we even get near a keyboard. I've already learned things from this book that I will take with me to other languages. The content on testing alone is worth the price of the book!
R**E
Excellent Design Description
Excellent approach/description for organizing your code design in a distributed system. It is difficult to find books that dare to approach this topic. This book does not focus on the Elixir language; its purpose is to describe a design approach. For the Elixir language, see "Elixir in Action" and "Mastering Elixir." I learned how to do this at work 30 years ago. - then multiple cores arrived, and the whole game changed. Elixir requires a lot of reading and study, but nobody said distributed systems were meant to be learned by crash courses.
M**8
Okay book, not deep enough to be useful.
This doesn't go far enough into any of the systems it describes to be of value on its own. The project they use to demonstrate OTP, and how to break out the modules in your system is too simple to really give you a working knowledge of using the tools.The online Elixir getting started guide is actually more informative.
B**S
Decent patterns, lackluster coding style and presentation
I really can't endorse this book for learning Elixir. I've written a lot of code, in a lot of languages. I actually appreciate the layered scheme they are attempting to convey, but the code itself is not code that I would recommend people take as an example. As another reviewer notes, in one section they propose that a function name "compute_cart_tax_in_cents" is really the best way to name things, which is a sign to me that things are maybe not ok in the realm of dynamic programming languages. I also find the coding style to be overly fond of pipes. This leads to functions that I would advise junior devs to break up with better names, rather than forcing the reader to mentally juggle data as it transforms types and purposes. e.g.:quiz.templates|> Enum.random|> elem(1)|> Enum.random|> Question.newThis is bizarre coding style. Just use a variable!
Trustpilot
2 weeks ago
3 weeks ago