Learn You Some Erlang for Great Good!

Learn You Some Erlang for Great Good!

A Beginner's Guide
by Fred Hebert
January 2013, 624 pp.

"I hope that many of you will enjoy reading Fred’s book as much as I did and that you find learning Erlang to be an agreeable and thought-provoking process."
Joe Armstrong, designer of Erlang

"I like this book. It's a complete description of the Erlang language together with many practical examples. Most importantly, it explains OTP, a set of design patterns and behaviors which allow you to build fault tolerant and robust systems."
Robert Virding, co-inventor of the Erlang language

Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange syntax and functional design can intimidate the uninitiated. Luckily, there’s a new weapon in the battle against Erlang-phobia: Learn You Some Erlang for Great Good!

Erlang maestro Fred Hébert starts slow and eases you into the basics: You’ll learn about Erlang’s unorthodox syntax, its data structures, its type system (or lack thereof!), and basic functional programming techniques. Once you’ve wrapped your head around the simple stuff, you’ll tackle the real meat-and-potatoes of the language: concurrency, distributed computing, hot code loading, and all the other dark magic that makes Erlang such a hot topic among today’s savvy developers.

As you dive into Erlang’s functional fantasy world, you’ll learn about:

  • Testing your applications with EUnit and Common Test
  • Building and releasing your applications with the OTP framework
  • Passing messages, raising errors, and starting/stopping processes over many nodes
  • Storing and retrieving data using Mnesia and ETS
  • Network programming with TCP, UDP, and the inet module
  • The simple joys and potential pitfalls of writing distributed, concurrent applications

Packed with lighthearted illustrations and just the right mix of offbeat and practical example programs, Learn You Some Erlang for Great Good! is the perfect entry point into the sometimes-crazy, always-thrilling world of Erlang.

Bonus: ebook is in color!

Author Bio 

Fred Hébert is a self-taught programmer who taught Erlang. He spent time working on a real-time bidding platform and was named Erlang User of the Year 2012, and has since joined the routing team at Heroku, building large scale production systems with Erlang. His online tutorial, Learn You Some Erlang for Great Good!, is widely regarded as the best way to learn Erlang.

Table of contents 

Foreword by Joe Armstrong

Chapter 1: Starting Out
Chapter 2: Modules
Chapter 3: Syntax in Functions
Chapter 4: Types (or Lack Therof)
Chapter 5: Hello Recursion!
Chapter 6: Higher-Order Functions
Chapter 7: Errors and Exceptions
Chapter 8: Functionally Solving Problems
Chapter 9: A Short Visit to Common Data Structures
Chapter 10: The Hitchhiker's Guide to Concurrency
Chapter 11: More on Multiprocessing
Chapter 12: Errors and Processes
Chapter 13: Designing a Concurrent Application
Chapter 14: An Introduction to OTP
Chapter 15: Rage Against the Finite-State Machines
Chapter 16: Event Handlers
Chapter 17: Who Supervises the Supervisors?
Chapter 18: Building an Application
Chapter 19: Building Applications the OTP Way
Chapter 20: The Count of Applications
Chapter 21: Release Is the Word
Chapter 22: Leveling Up in the Process Quest
Chapter 23: Buckets of Sockets
Chapter 24: EUnited Nations Council
Chapter 25: Bears, ETS, Beets: In-Memory NoSQL for Free!
Chapter 26: Distribunomicon
Chapter 27: Distributed OTP Applications
Chapter 28: Common Test for Uncommon Tests
Chapter 29: Mnesia and the Art of Remembering
Chapter 30: Type Specifications and Dialyzer

Appendix: On Erlang's Syntax

View the Index (PDF)
View the detailed Table of Contents (PDF)


"An excellent introduction to Erlang. . . . If you want to know it all, Learn You Some Erlang for Great Good! is a great book to buy."
Jesper Louis Andersen, Erlang Solutions Ltd. (Read More)

"Learn You Some Erlang for Great Good! is an inspiration. An indispensable guide to a very important programming language."
Michael Fogus, author of The Joy of Clojure and Functional Javascript (Read More)

"I recommend LYSE to all those who want to learn Erlang and OTP, especially to those who want to experiment and self-learn the language and system."
Dr. Kenji Rikitake, Basho Technologies (Read More)

"A great place to start exploring the topic."
Mark Gibbs, Network World (Read More)

"A fun to read book on programming? 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."
Mahesh Paolini-Subramanya, Vice President of R&D, Ubiquiti Networks (Read More)

"A must-read book every developer out there should add to his Erlang shelf."
Paolo D’Incau (Read More)

"The book has great and funny illustrations; technical yet with a nod to the whimsical, without being inscrutable and self-indulgent. If you’re interested in Erlang, this is the Erlang book to read."
Bryce Kerley (Read More)

"Fred's style is breezy without being flaky or muddle-headed. His examples are often comical, sometimes thought-provoking and yet always salient and to the point. His jokes keep the tone light and allow him to sneak difficult concepts that your brain would traditionally reject as 'too hard' past your defenses so that you often learn in spite of what you think you can do."
Michael Richter (Read More)

"This is how a programming book should be. The contents of the book were detailed, easy to follow, engaging, and surprisingly humorous."
Michael Kim (Read More)


View the latest errata.