[size=10]Image from pragprog.com[/size]
Publisher: The Pragmatic Bookshelf
[quote=The Pragmatic Bookshelf]
You want to explore functional programming, but are put off by the academic feel (tell me about monads just one more time). You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers.
Maybe you need something that’s closer to Ruby, but with a battle-proven environment that’s unrivaled for massive scalability, concurrency, distribution, and fault tolerance. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir.
[size=18][b]Book Preview (when available)[/b][/size]
[size=18][b]From the publisher[/b][/size]
[list][url=http://media.pragprog.com/titles/elixir/lists.pdf]Lists and Recursion (excerpt)[/url][/list]
[list][url=http://media.pragprog.com/titles/elixir/nodes.pdf]Nodes—The Key To Distributing Services (excerpt)[/url][/list]
[size=18][b]Where to get it?[/b][/size]
'Programming Elixir' provides practised programmers an introduction to the Elixir programming language. Particular attention is paid to the features of the language that the author, in his considerable experience, finds the most interesting. In addition to the expected introduction to the basics of the Elixir language, the author presents a deeper investigation into Immutability, Anonymous functions, and organising a project, among others. More advanced concurrent programming topics are covered with sections on working with multiple processes, and OTP (Open Telecom Platform).
A particular strength of the book is the collection of practice exercises that accompany each chapter. These transform the book into more of a personal training session where the author runs you through the learning material and then tests you on your knowledge. This 'learn by doing' approach greatly enhances the overall experience.
The author has deliberately targeted more experienced programmers and the prerequisite knowledge needed to get the most from the book is quite high. Therefore, lesser experienced programmers might find the pace quite hard going.
Overall, Programming Elixir is an inspiring introduction to the Elixir language, and a good choice of title for the curious programmer eager to explore a new language and a new way of programming. The book certainly does live up to its tag-line: "Functional |> Pragmatic |> Concurrent |> Fun". Most enjoyable.
I give this book 9 out of 10 horseshoes.
Disclosure: I received a copy of this book from the publisher in exchange for reviewing this book on behalf of CodeRanch.