Compendium of Beginner Erlang Resources

Posted by on August 30, 2008

It seems like just yesterday I was just starting to dive into Erlang. Actually, it was only a few months ago, and Erlang resources were hard to come by! In addition to the lack of resources, there were a lack of blogs to help me along the way. The main purpose of this blog is to track my findings with Erlang, especially using it in a professional world, and help others learn what I have learned. As an added bonus, I’ll probably learn things from readers along the way, too.

To kick this blog off, I’ve compiled a list of resources that I used to jump into Erlang, and some additional resources I’ve found recently. They are in order of difficulty based on my personal opinion, to help you climb the Erlang mountain!

Before we even get started, you must watch Erlang: The Movie. Maybe its just because I’m such a nerd, but that movie hyped me up about Erlang. Once you have finished watching that… moving on…

The Resource List

The first two resources are not free, but if you are going to spend any money on learning Erlang, please keep in mind that you’re investing in a very powerful, unique language which fills a much needed role in the computing world. As for personal opinion, I highly recommend Joe Armstrong’s book. It is very broad and introduces you to the whole spectrum of Erlang which will provide you with a solid foundation that can jump-start your Erlang career.

At this time I’d like to point out that you should have a complete understanding of the syntax and general workings of Erlang the language. But learning the syntax is fairly useless if you don’t know the powerful tools Erlang gives you out of the box, and the general conventions you should follow while programming in Erlang. The following resources begin this journey…

  • Official Programming Examples - Gives a few examples of how to achieve common tasks. At the very least, you should try to write these yourself to get used to the style of Erlang.
  • OTP Design Principles - You will use the OTP behaviors and modules a lot so you should take your time to learn the right way to use them.
  • Erlang Man Pages - Okay… don’t actually read the entire thing. But bookmark this page! And at least read the big-name modules through, such as the OTP modules, application, erlang, etc. This is an invaluable resource while you’re working in Erlang trying to remember a method or lookup a method you don’t recognize.
  • Paul Nelson’s EUnit-Based Tutorials - Based on comments of this post, I’ve looked through and recommend Paul Nelson’s tutorials. He teaches Erlang through EUnit-focused tutorials. A great way to get acquainted with both the language and unit testing in Erlang.

Now you know Erlang syntax, general OTP usage, and you should have an idea of what Erlang programming “style” is. You should also know how to use EUnit to test your code.

Unfortunately, those are really all the useful beginner readable resources… really. If you know anymore that are useful, please comment and I’ll gladly add them to the list.

“What do I do now?”

You know the syntax, you know the basic modules, you know basic OTP, and you know some style, what do you do now? Easy! Check out some open source applications:

  • ejabberd - A jabber chat server. It will take a couple hours to really understand the source but my first job was hacking up ejabberd and I learned more than I ever thought possibly by reading only through this application. You should too!
  • RabbitMQ - Another messaging server, this time written on top of AMQP. Again, takes a few hours to dive in, but once you’re in, the knowledge you’ll gain is priceless.

That’s all I’ve got! If you have any questions, comments, or have any additions to make to the list, comment and I’ll gladly add them. Good luck!

Trackbacks

Use this link to trackback from your own site.

Comments

Leave a response

  1. Paul Nelson Aug 30, 2008 13:19

    Thanks for the compilation - Joe Armstrong’s book has been especially useful in my quest to learn Erlang.

    I’d like to humbly request consideration in the “Beginner’s Resources” category. I have written several articles, chronicling my delving into Erlang here: http://salientblue.com/codenotes

    Primarily, I am focusing on using EUnit as a tool to learn Erlang.

    Looking forward to your future Erlang blog posts,
    Paul (Pablosan)

  2. Mitchell Aug 30, 2008 14:29

    Hi Paul, I’ve added your tutorials as a resource in the post. Great job! I’ve been looking for good EUnit tutorials, I’m glad you have some :)

  3. links for 2008-08-31 Aug 31, 2008 12:40

    [...] Compendium of Beginner Erlang Resources | spawn_link (tags: programming development software resources tutorial list erlang) [...]

  4. Subbu Aug 31, 2008 14:06

    Wow. This is precisely what I wanted to know before starting my Erlang journey. Thanks so much. Added your blog to my RSS reader :)

  5. Mitchell Sep 01, 2008 04:50

    Thanks for the comment Subbu! I have some interesting posts lined up that should excite people, I hope! Look out in the coming days… ;)

  6. Jamaal Sep 02, 2008 07:31
  7. Jamaal Sep 02, 2008 07:35

    also,

    http://www.erlang.org/doc/man/%s.html

    in Firefox, with the keyword: erl

    will allow you to go straight to erlang man pages in the browser simply by typing “erl digraph” or “erl erlang” or “erl [whatever]”

    Got this cute tip off some blog somewhere.

  8. Ed Piman Sep 02, 2008 16:45

    It will take “a couple of hours” to really understand the ejabberd source? I downloaded the source and counted 131 Erlang source files, out of a total of 305 files. You are a quicker study than I even dream of being.

  9. Mitchell Sep 02, 2008 23:24

    Ed,

    I didn’t mean to say it will only take a couple hours to completely understand the source. I meant it would take a couple hours to dive into the source, to understand the startup sequence and what processes are started initially and where to go from there. :) To _completely_ understand the source would take quite a bit longer ;)

    But studying ejabberd is a great way to start learning Erlang.

  10. Neo4reo Sep 05, 2008 21:22

    Iam equally considering erlang development…for my undergrad computer science project…this will b of great help.

  11. [...] I am assuming you have a basic knowledge of the Erlang syntax. If not, I recommend reading my compendium of beginner erlang resources to find a place you can learn [...]

  12. code17 Sep 07, 2008 00:03
  13. [...] Compendium of Beginner Erlang Resources | spawn_link (tags: erlang) [...]

  14. Confluence: Matt Reynolds Jun 05, 2009 09:06

    Erlang Best Practices…

    I have a morethanpassing interest in Erlang, so I’ll be writing about it here from time to time. Anyway, to start this off, I wanted to link to this article for Erlang beginners…

Comments

Comments: