"Learn You Some Erlang For Great Good" - a review thereof

Disclaimer #1 - I was asked to review this book, and no starch press sent me a review copy.
Disclaimer #2 - The erlang world is somewhat small, and I happen to know the author.
Disclaimer #3 - I helped proof-read large swathes of the book. (Ok, that one isn't a disclaimer - it was an #AutoPlug. Sue me).

When you really get down to it, books tend to come in two types
  1. Reference Books : These are the ones that you pick up when you want to learn something, or more likely, when you need to look something up.  The classic example, of course, is The Camel Book (to me at least.  I find perl to be quite useful, and the perfect counterpoint to erlang)
  2. Fun to Read Books : These are the ones that you read 'cos, well, they're fun.  Anything by Jasper Fforde, Iain Banks, or Terry Pratchett counts. 
And yeah, the intersection between categories (1) and (2) is basically the null set.  Mind you, if your idea of entertainment is curling up in front of the fireplace w/ a glass of sherry and Volume 3 of Knuth, well, I have no time for you...

Then again, that's not quite fair because now, now, there actually is a book which is not just a brilliant reference book for erlang, but is also an unalloyed pleasure, and definitely fun to read.

It is Fred Hebert's Learn You Some Erlang For Great Good.

I know, I know, "c'est impossible".  A fun to read book on Programming?  Not just any old type of programming mind you, but erlang? With its syntax issues? And all that functional cruft? And no NullPointerException the way god intended?
To which, I can only say, "non, c'est possible".

Its insightful, its witty, its charming, and it has what appears to be a mutant squid on the cover - five reasons to go get the book(*).

Come to think of it, this is - by far - the most accessible take on erlang that I have seen in a long long time.
Ok, ever.
Take the section on Common Test.  You could go read the original docs, which contain such deeply insightful statements as
In a black-box testing scenario, CT based test programs connect to the target system(s) via standard O&M and CLI protocols
which, no doubt, meant a great deal to someone, but face it, its not exactly scintillating dinner-time conversation (**).
Fred, on the other hand, has actually managed to make Common Test not just understandable, but accessible to boot. (Personal bias here - I don't get why more people don't use CT - it is a heck of a lot easier to work with than EUnit).  The classic line in the book is, in my opinion, from this chapter, and goes
Oh what the hell did Common Test do to my beautiful directory? It is a shameful thing to look at.
Which is both funny, and absolutely true (Use Common Test.  Then go look at the directory.  Then read the line again.  Seriously)

Anyhow, the book has it all.  And I do mean all.  Its got chapters on everything from ETS through Exceptions, syntax through supervisors, and pretty much any other alliterative (or not) thing involving erlang that you can think of.
Or not think of.
As far as I can tell, about the only reason Fred stopped writing was that he ran out of things to write about -which should clue you in that this is a big book (***).

All that being said, probably the best part about the book is that it takes you through virtually everything you need to know about not just erlang, but the underlying context/philosophy associated with erlang, viz., developing reliable and fault-tolerant applications and systems.  And that, my friend, is well worth the price of admission.

So, go get the book, read it, and enjoy.
If you haven't heard of it before, you're welcome.
If you have, and haven't bought the book yet, why not? Just Do It...
(*) - Yes, I can count. The fifth reason is Surprise...
(**) - It is, however, extremely important. Trust me.
(***) - 624 pages. That is a lot of big...


Popular posts from this blog

Erlang, Binaries, and Garbage Collection (Sigh)

Its time to call Bullshit on "Technical Debt"

Pie Charts - Just Say No