How long does it take to master Erlang?

Try finding an online tutorial, but don't be afraid to ask a friend for help — if you're fortunate enough to have one that knows Erlang.  The core language isn't too bad if you're familiar with FP, but the associated concepts like gen_*, supervision hierarchies, and error handling are tricky.  Don't be ashamed to ask for help … it's not as straightforward as most of the languages you've learned.

Implement the things you're learning.  After you learn a concept, try building something that uses that concept.  If nothing comes to mind, ask someone for an assignment or find a tutorial with homework.  Reading tutorials and manuals will tell you how a feature works, but you won't really understand where it's appropriate to use until you've actually used it incorrectly a few times.  Experience is key; you'll probably find that after a while of programming Erlang that everything you wrote more than two weeks ago is complete crap.

Once you get into the real world use http://erldocs.com for reference.  It's the same material as http://www.erlang.org/doc but presented better.

2 thoughts on “How long does it take to master Erlang?”

  1. In discussions about what makes Erlang a powerful language for commercial development of messaging systems, one of the arguments that have come up is that you don't really have to be that good a programmer to produce a working program in Erlang – it may not be a good program, but something that gets the job done. I've seen a fair share of horribly written Erlang code that actually served its purpose in the field for years, with acceptable performance and stability.

    This becomes important in a production environment for several reasons: you can make use of people who might not be great programmers, but do have strong domain knowledge, and new developers can quickly get up to speed at least working with existing code.

    You don't have to master Erlang to produce useful code with it. And there's no better way to learn than to actually build stuff.

    Now, to e.g. 'unlearn' OO habits and create elegant Erlang programs from scratch may well take a while. To develop an intuition for how the VM works and how to write really efficient Erlang code may also take a while, but the process is helped by the fact that the VM is pretty well optimized for textbook Erlang code.

Leave a Reply

Your email address will not be published. Required fields are marked *