Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way to learn Erlang?

Tags:

erlang

People also ask

How do I learn Erlang?

Erlang is a general purpose or you might say a functional programming language and runtime environment. It was built in such a way that it had inherent support for concurrency, distribution and fault tolerance. Erlang was originally developed to be used in several large telecommunication systems.

Is it easy to learn Erlang?

Learn You Some Erlang is an easy-going tutorial which takes a day or two to get through. Alternatively, there's a spartan online tutorial. Any of the Erlang books can also be used as tutorials. The Erlang distribution includes a step-by-step getting started guide.

How much time it will take to learn Erlang?

An Erlang Course This course usually takes four days to complete. It is divided into 5 modules and has a number of programming exercises.

How hard is Erlang?

You can get decent in a week or so, but you won't feel comfortable for about a month. Actors. The concurrent part of the language is extremely easy to pick up in terms of creating processes and communicating among them. Learning to think concurrently is harder.


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!


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.


I found the best thing to do to learn erlang was reading joe's thesis http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf and then writing something I enjoyed, for me it was an iax2 server.


What I can recommend you is not to browse the Wings3d source code.

(I did it and it was a waste of time similar as when I tried to read the Quake2 sources :-p)


I have the both the Erlang Progamming and the Software for a Concurrent World, both are excellent. I might almost say the Erlang Programming is better, it shows a lot more about using OTP (Erlang libraries), but I was also a little more comfortable with the language when I was reading it, so that's what I was looking for.

The Getting Started with Erlang Guide is also pretty good.

Definitely you should give writing a simple server a try. That's one of the areas where Erlang really shines and there's plenty of documentation and tutorials around message passing and the gen_server module.

-- edit

Also, you can run Erlang on ARM based mobile devices (ARMv5+) for sure, you could ask on erlang-questions for other architectures. Check out http://wiki.trapexit.org/index.php/Cross_compiling for the basics of getting started with cross-compiling.