kpanic

kpanic

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

Most Liked

kpanic

kpanic

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.

ostinelli

ostinelli

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

ostinelli

ostinelli

Thank you @kpanic for the review. :slight_smile:

Fl4m3Ph03n1x

Fl4m3Ph03n1x

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/#

Where Next?

Popular in Courses Top

mikeclark
Howdy Everyone, :waving_hand: TLDR: Early access to our Phoenix LiveView course is now open… and it’s free! The first 7 videos (75 minut...
New
AstonJ
New, from @danielberkompas Learn how to build fast, dependable web apps with Phoenix in this series of in-depth, step by step screenc...
New
CodeSync
If you’re joining us for Code BEAM Europe, you can enhance your experience with specialized training sessions. With small groups and the...
New
RafaelCamarda
Hello Guys. I have always missed good Elixir and Phoenix content in my own language (Portuguese). Because of that, I have decided to cr...
New
kpanic
https://pragprog.com/screencast/v-roerlang/modern-erlang-for-beginners An in-depth introduction to coding with Erlang, a general-purpos...
New
learn-elixir.dev
At Learn-Elixir.dev we help developers master Elixir via mentorship and course content: Exclusive curated content covers the beginner,...
New
Oxyrus
Has anyone seen this course so far? https://app.pluralsight.com/library/courses/elixir-getting-started
New
AstonJ
Grox.io looks really nice and I love that they’re doing a Joe Armstrong tribute :heart: Bruce Tate (@redrapids) has put together a team ...
New
alvises
Hi everyone, I’ve started releasing these LiveView lessons (videos and articles), which are free extracts taken from the bigger course B...
New
sorentwo
The Oban Training 101 curriculum is extracted from our in-person training from ElixirConf 2023. It’s designed to teach everything you nee...
New

Other popular topics Top

belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

We're in Beta

About us Mission Statement