Getting Started with Erlang

Learning Erlang

Baby Steps

For a great guide to your first steps into Erlang, head on over to TryErlang for an in-browser, interactive tutorial to help you get to grips with the basic syntax and mechanisms of the language.

You can also check Introducing Erlang, a website with one goal – to get Erlang installed on your system and write a non-trivial working application in 30 minutes.

Learning To Run

Once you’ve started to get a feel for the mechanisms available to you in Erlang, head on over to Learn You Some Erlang.

Open a terminal and fire up erlang (by running `erl`) as you read through the site. Running through the examples on the site, as you read through the explanations, is one of the best ways to learn Erlang.


Once you’ve started to get to grips with the more complex and glorious features of Erlang and OTP, pick up a copy of Erlang Programming for reference. You might also be interested in learning about rebar: a tool from Basho (the guys behind Riak). They have provided a great guide to getting started with it on the rebar wiki.

You may also be interested in TDD at this point: check out this short tutorial on eunit for information on how to get some basic unit testing working with erlang.


Getting involved in the Erlang community is a great way to both improve your own skills and techniques and encourage the others you interact with to improve theirs. A great place to start is the erlang-questions mailing list, or by perusing the unanswered questions on You can also try our very own forums here at If purely electronic interaction doesn’t quite cut it for you, there are also the Erlang Factory events.

For some more advanced testing techniques, you might wish to check out PropEr: an OSS property-based testing tool. If you’re looking for something more commercial with full support, you should also look at QuviQ’s QuickCheck.


Downloading Erlang/OTP

Binary Packages

Erlang Solutions distribute optimisted builds of the Erlang/OTP packages via the link above. These packages are available  for a variety of operating systems, including (but not limited to) Ubuntu, Windows, Mac OS X, Fedora and Debian. Follow the instructions at the download page to install.

Stock Packages

Most *n*x-based operating systems have pre-built Erlang/OTP distributions in their package management systems (e.g. homebrew on OS X).

From Source

To obtain the source and build Erlang/OTP for yourself, see the Ericsson Erlang download page.


Since every Erlang application you work on will require you write source files, you’ll need a way to work sanely with them. The most commonly recommended IDE for writing Erlang is emacs: it has a very feature-rich integration with a wide array of tools and utilities for working with Erlang.

Less common, but viable, options available to you include: vim (using the vimerl plugin) and erlide (based on eclipse). Of course, you are welcome to use any text editor you wish, but you may find toolchain integration less complete with options.