Erlang using Kent University Erlang master class
Note that the content has been reworked into two MOOCs:
Functional Programming in Erlang
Concurrent Programming in Erlang
The first one is entirely about (sequential) functional programming while the second one goes over the principles and techniques of concurrent programming that OTP is based on - while only taking you to the doorstep of OTP (i.e. you use gen_server
at the end of the course). There still is room for a third course exploring the use of various OTP behaviours.
While Learn You Some Erlang is in Erlang, itâs knowledge is all based around the BEAM ecosystem which is what Elixir is based on.
On Erlangâs Syntax:
the syntax is only intimidating, itâs far from difficult.
Erlang is a fairly small language and should be simple enough to learn if you approach it with an open mind (and lots of people donât). The benefit of learning functional and concurrent programming in Erlang is that it should give you a clean break from your existing PHP/Ruby mindset. Elixirâs Ruby-like syntax may lure you into treating it like Ruby - which it really isnât. The typical challenges to learning a BEAM language are:
- Using pattern matching instead of conditionals
- Using recursion instead of iteration (and by extension, using higher order functions)
- Thinking concurrently
That being said having to learn Erlang can feel like the straw that breaks the camelâs back.
Learn Functional Programming with Elixir aims to teach functional programming in Elixir (i.e. no need to do it in Erlang). Elixir in Action progresses a bit quicker in order to cover the basics of concurrent programming and explore some of OTP - in way it feels like an Erlang (i.e. BEAM) book that happens to use Elixir - no Ruby-coloured glasses here.
Daveâs course doesnât provide free lessons in an order, so I wonât be able to get an idea about how easier/harder the whole course is, although I got an idea from the free lessons and the titles of the paid lessons, that the course covers a lot of stuff.
So, I think the biggest risk here is that you start the course and that you find it too fast paced.
Youâre a programmer, so you donât need spoon feeding with the conventional drivel about âthis is an integer.â No. You need to know whatâs different, and you want to know quickly.
This pretty much sets the tone for what is expected of you. But given how well the course is reviewed here, the biggest risk is that you may have to pause and backfill some concepts before you return to it. So while the course may turn out to be âtoo muchâ in the short term, I find it hard to believe that it would be useless in the long term as long as you go back to it when you are ready.