A Beginners Guide to Erlang
In the beginner’s mind there are many possibilities, but in the expert’s there are few
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.
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 .
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:
- Chicago Erlang User Group
- Cross Functional Amsterdam – I help organize this one. We have frequent Erlang focused talks.
- London Erlang User Group –
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.