Ward Bekker

WB

A Beginners Guide to Erlang

| Comments

In the beginner’s mind there are many possibilities, but in the expert’s there are few

Shunryu Suzuki Zen Mind Beginner’s Mind

These starting points helped me getting up to speed with Erlang. I hope this information helps you too.

How install Erlang/OTP

You can install Erlang/OTP from source, but I like the ready-to-go packages provided by Erlang Solutions.

Writing Erlang

I use Aquamacs, An Emacs for mac users, with the Erlang mode provided by Erlang/OTP. Combined with Eric B Merritt’s projmake-mode and Mochiweb reloader this makes for a productive development environment.

Documentation

  • The official Erlang documentation is pretty good, but the writing style / structure takes a while to get used to. But the info is certainly there.
  • I keep a local copy of Erldocs on my development machine for quick access. Unfortunatly it doesn’t have an R16 copy and function signatures are not shown fully correct, but it works for me.
  • Learn you some erlang is a free online guide (and available as a dead tree version). It’s a very good intro for learning Erlang.

Best places to ask for help

The Erlang Questions Mailinglist is the best place to ask your Erlang questions. Don’t be surprised if you question is answered by Erlang inventors themselves!

As with other programming languages Stack overflow is also a great place to get answers to your pressing Erlang questions.

Erlang books

Compared to Java, the quantity of Erlang books is low. But the quality is pretty good! And a little birdy told me that some great new books will be published in the near future. Warning: affiliate links to Amazon ahead. You will be sponsoring my caffeine intake. Thank you.


Erlang Programming by Francesco Cesarini

Learn you some Erlang by Fred Hebert

Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws

Programming Erlang: Software for a Concurrent World

Erlang and OTP in Action

Building Scalable Applications with Erlang (Developer’s Library)

Introducing Erlang

Erlang/OTP


Testing and Continuous integration

I recently gave a talk introducing the great automated testing facilities of Erlang. Check out the video and slides

With help from former collegue & friend Josh Kalderimis I’ve added the first iteration of Erlang support to Travis-CI. It’s a free continuous integration service for open source projects. It’s used by well known Erlang projects like Basho Riak, Elixir and Mochiweb. See the documentation how to add your project.

If you can read Dutch, you can also read my blog post about Geautomatiseerd testen met Erlang/OTP en Travis-CI which covers the same ground.

Who to follow on twitter

Two of the three Erlang inventors are active tweeps:

Want more? Bryan Hunter maintains a list of Erlang folks on twitter .

I’m also on twitter

Popular Erlang projects

Want to learn Erlang from the absolute best? Most popular Erlang projects are open source. Make some coffee, clone the repositories and learn from the code of the Erlang gods. Below a selection:

  • Erlang OTP – The full Erlang/OTP sourcecode.
  • Basho Riak – A decentralized datastore.
  • Cowboy – Small, fast, modular HTTP server written in Erlang.
  • Rebar – A sophisticated build-tool for Erlang projects that follows OTP principles.
  • Mochiweb – MochiWeb is an Erlang library for building lightweight HTTP servers.
  • Webmachine – A REST-based system for building web applications.

Explore more popular Erlang projects on Github’s Erlang page

Conferences & User groups

The Erlang Factory conferences are the best places to meet professional Erlang developers. I’ve attended a few of them, and I am always amazed by the quality of the speakers and the hallway discussions. Pro tip: make sure you have a substantial lunch and then stay for the drinks.

A few local active user groups that I’m aware of:

Explore more Erlang user groups on Meetup

Training

I attended the three day Erlang/OTP express course from Erlang Solutions and got a much better understanding of OTP. Erlang Solutions also provide E-learning training.

I also heard some good things from the Erlang Camp by Erlware. This is a intensive two day trainings for beginners and intermediate Erlang programmers.

Comments