Developer Reading List
, April 02, 2013 New books on Java, Erlang, Unit Testing, Windows and more.
Learn You Some Erlang for Great Good
by Fred Héber
Erlang is the functional language, developed at Swedish phone-maker Ericsson, for use in large-scale, fault-tolerant applications. The language, which embraces the functional model, relies on message passing (with actors) and is generally deployed on multiple nodes, in which the failure of any one instance simply requires a restart of the Erlang VM. Because of this use case, Erlang is frequently thought of as specializing in parallel programming contexts; but while it does handle concurrency well, it's really the elegant fault handling that delivers the language's principal value.
The key obstacle is that the language is hard to learn. The functional model and actor implementation will be new to many developers. The difficulties these features present are compounded by an opaque syntax and less-than-helpful error messages. Consequently, to get up and running with Erlang requires dedication and a long-term commitment. The previous widely used tutorial on Erlang was written by Joe Armstrong, the language's principal developer. However, it was in many ways as unapproachable as the language.
This new book by Fred Hébert changes the whole landscape. It's an enjoyable and approachable introduction to Erlang. The author presents the topics in an intelligent, easy-to-navigate sequence that reveals Erlang in small chunks that build successively on each other. The presentation is laced with humor that is at times a relief, even if it occasionally veers into gallows style. (A dead worker thread, for example, is represented by a cartoon of a corpse floating face-down in a pool.)
Hebert is well-regarded in Erlang circles for this tutorial, which is available online at no cost. The high esteem for this material is well deserved and this book is without a doubt the best way to get on board with Erlang. Recommended.