Learn You Some Erlang for Great Good!: A Beginner's Guide

  • 9h 53m
  • Fred Hébert
  • No Starch Press
  • 2013

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

About the Author

Fred Hebert is a self-taught programmer who used to teach Erlang. He is currently working on a real-time bidding platform and was named Erlang User of the Year 2012. His online tutorial, Learn You Some Erlang for Great Good!, is widely regarded as the best way to learn Erlang.

In this Book

  • Learn You Some Erlang For Great Good!—A Beginner's Guide
  • Starting Out
  • Modules
  • Syntax in Functions
  • Types (or Lack Thereof)
  • Hello Recursion!
  • Higher-Order Functions
  • Errors and Exceptions
  • Functionally Solving Problems
  • A Short Visit to Common Data Structures
  • The Hitchhiker’s Guide to Concurrency
  • More on Multiprocessing
  • Errors and Processes
  • Designing a Concurrent Application
  • An Introduction to OTP
  • Rage Against the Finite-State Machines
  • Event Handlers
  • Who Supervises the Supervisors?
  • Building an Application
  • Building Applications the OTP Way
  • The Count of Applications
  • Release Is the Word
  • Leveling Up in the Process Quest
  • Buckets of Sockets
  • EUnited Nations Council
  • Bears, ETS, Beets: In-Memory NoSQL for Free!
  • Distribunomicon
  • Distributed OTP Applications
  • Common Test for Uncommon Tests
  • Mnesia and the Art of Remembering
  • Type Specifications and Dialyzer