What is the best way to learn Erlang?

Other than specific projects (although those are welcome as well)...

What tools, books, articles, and other resources should I have at my desk to help me learn Erlang?

Also, are there mobile runtimes for Erlang?

Please point me in the right direction.

Note: yes, I have visited Erlang and Wikipedia, but I'd like to hear some reliable, experienced opinions.


Solution 1:

I'm a month-or-so into learning and the guides I'm enjoying most are:

  • The Erlang Site's Getting Started with Erlang Guide
  • Joe Armstrong's Book Software for a Concurrent World (thoroughly recommended)
  • And I have on order: O'Reilly's Erlang Programming which has had some really positive reviews and sounds like a good companion to Joe Armstrong's book (covering many of the same topics in greater depth, possibly with more "real world" examples)

I think you can dive into the Getting Started guide straight away and it will certainly give you a feel for functional programming and then concurrency.

If you're in London this June there is the Erlang Factory conference which looks really good.

While I remember, these are two good presentations taking you through Erlang and it's uses:

  • Thinking in Erlang
  • Functions + Messages + Concurrency = Erlang

Finally, you can follow my learning experiences on my blog (joelhughes.co.uk/blog) my step by step adjustment of FizzBuzz from python/ruby/php to Erlang might give you a good flavour (sorry about the shameless self promotion).

I have to say learning Erlang is currently one of my greatest pleasures, there is something very satisfying about it!

Solution 2:

For beginners, the "Learn you some Erlang" guide is supremely awesome. It is as of yet incomplete, but provides a lot even with what little is there.

It also has an RSS so you can be informed when (if?) it is updated.