Tim Cooke

Review: Programming Elixir

Cover art for Programming Elixir book

The Book

AuthorDave Thomas

Published16th October 2014

PublisherThe Pragmatic Bookshelf

Book Websitepragprog.com/book/elixir

Author Websitepragdave.me

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.

The Review

Date22nd February 2015

Rating9/10

'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.


Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.