Modern Erlang for Beginners (PragProg)

https://pragprog.com/screencast/v-roerlang/modern-erlang-for-beginners

An in-depth introduction to coding with Erlang, a general-purpose, concurrent, functional programming language renowned for its ability to create distributed and fault-tolerant systems.

Modern Erlang for Beginners provides a thorough introduction to the Erlang programming language from the very basics to building your first Erlang/OTP application.

This course takes a very structured approach of teaching Erlang. The screencasts show you how to get started, in a gradual journey from understanding basic concepts such as pattern matching, to writing your first OTP application. You will learn how to use behaviours to build supervised and distributed systems, through clear examples and detailed explanations.

Why Erlang? The Erlang runtime system is known for its designs that are well suited for systems with the following characteristics:

Distributed
Fault-tolerant
Highly available (non-stop applications)
Support Hot Code swapping (code can be changed without stopping a system)

I did not watch it (yet), however looks very interesting material to refresh some concepts, to read better erlang code :wink: or to bootstrap OTP

7 Likes

As a extra, in case someone is interested, there is also an erlang master course for free with some lessons from Joe Armstrong:

https://www.cs.kent.ac.uk/ErlangMasterClasses/#

1 Like

I watched the screencasts, and I would suggest them to who:

  • wants to grasp better Erlang syntax from an Elixir point of view
  • wants to bootstrap Erlang obviously
  • wants to refresh or learn OTP by building OTP behaviours from the ground up.

Personal considerations

After a nice introduction to Erlang syntax and data structures you will learn about recursion, pattern matching, different way on how to improve code readability, immutability, map/reduce, guards, etc

You will learn how to spawn processes, links, monitors that will serve you to understand the next lectures

Then the lecture builds up on how to make communicate an Erlang cluster (connections, pings, send messages across the cluster and so on)

You will learn how to build a bank process that reacts to messages
You will learn how to refactor your implementation of a gen_server into a gen_server OTP behaviour (similar to the way *Elixir in Action*does) And dig/refactor intoSupervisor, supervision strategies,Application` what you implemented “manually” (from the ground up).

I found out that the author/speaker explains things at the right pace and level of detail (not too much and not too few information) from my point of view.
The author is right to the point and provides valuable insights.
Also the lectures time length is balanced. You will not get bored (or at least, I did not :wink: )

When coding in Elixir, you’ll encounter Erlang libraries and it’s nice to be able to read them.
It’s true that after some Elixir, Erlang code will feel familiar, however with this introduction I feel that it will be even easier to understand what’s going on.

Either if you are starting with Erlang or with Elixir, this might be useful.

Conclusion:

I enjoyed it, even if most of the concepts were already familiar to me, however I refreshed some concepts of OTP in particular.

8 Likes

Thank you @kpanic for the review. :slight_smile:

3 Likes

Just a note to state that this course has been moved to Udemy and is availble here:

4 Likes