Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Best Courses Guides

7 Best Erlang Courses and Books for 2024

A guide to the best Erlang courses and books (most are free). Erlang is a programming language designed for building scalable, fault-tolerant systems.

Quick Access:


WhatsApp. Cisco. GoDaddy. IBM. Heroku. What do they all have in common?

They all use Erlang in their technology stack!

Erlang is a programming language specifically designed for building scalable, fault-tolerant systems that can run smoothly in a distributed environment. Its unique approach to concurrency and message-passing makes it ideal for building real-time, high-traffic systems like WhatsApp’s messaging platform, Cisco’s networking equipment, GoDaddy’s hosting services, IBM’s cloud offerings, and Heroku’s platform as a service. In fact, 90% of all internet traffic goes through Erlang controlled nodes.

Want to find out and learn more about this (kind of) unknown yet powerful language? Continue reading to see my picks for the best Erlang courses.

Click on the shortcuts for more details:

Here are our Top Picks:

What is Erlang?

Erlang is a general-purpose functional programming language and runtime environment developed by Ericsson, a Swedish telecommunications company, in the 1980s. The team needed a programming language that can handle telephone switching — a very difficult endeavor that requires high levels of concurrency and zero downtime (I’m sure you can imagine why).

After experimenting with dozens of different languages, they came to a stark conclusion: no such language exists! Instead of giving up or settling for compromises, they instead decided to create their own programming language.

Hopefully that brief history lesson gave you some context for why Erlang is known for two things: its practical concurrent programming and its robust virtual machine.

Erlang is a functional programming language for all the right reasons — scalability and concurrency. It has a lightweight threading model (which Rust also uses) and a powerful process-based runtime system. Companies like WhatsApp and Heroku are able to scale and handle millions of concurrent connections in real-time thanks to Erlang.

Also, the Erlang virtual machine (BEAM) is legendary for its fault-tolerance. The language has built-in support for handling failures, like automatically restarting processes and recovering from crashes. For mission-critical systems, you can be rest assured that your applications will continue running 24/7 even when things eventually go wrong.

In addition to its concurrency and fault tolerance features, Erlang is also a highly expressive language that allows you to write concise and elegant code. It has a simple syntax and a rich set of libraries, like the Open Telecom Platform, making it easy to learn and use.

Unfortunately, there are not enough developers in the world that know Erlang, even though Erlang developers are highly sought after. That’s why Erlang has consistently been among the highest paying programming languages to learn in the Stack Overflow Survey since 2021, and taking 2nd place in the 2023 survey. So why not become one of them? Whether you’re building a web application, a real-time messaging system, or a distributed database, Erlang is a worthy choice for building reliable, scalable systems.

Courses Overview

  • Over 600 people are following the Erlang subject on Class Central
  • Six of the courses and resources in this guide are free
  • All except for one do not require any Erlang or functional programming experience
  • Some programming experience with other languages is required to take these courses.

Best Free Comprehensive Video Tutorial for Erlang (Erlang Tutorial)

The Erlang Tutorial playlist is free, recent and comprehensive teaching Erlang through interactive programming and examples. By the end of this tutorial, you’ll have a well-grounded understanding of the Erlang programming language.

Some prior knowledge of programming is required to take this course.

What you’ll learn:

  • Erlang tools and vocabulary
  • Writing a “Hello, World” module and compiling it
  • Exploring Erlang syntax and structure
  • Understanding data types, control structures, and functions in a functional and concurrent context
  • Using processes for concurrent execution
  • Exploring recursion, anonymous functions, and higher-order functions
  • Learning about atoms, comprehensions, and pattern matching
  • Building a simple key-value database using maps and processes
  • Studying error handling in Erlang and designing resilient code
  • Implementing practical examples: a palindrome checker and Conway’s game of life
  • Interactive coding with the instructor using the Erlang shell.
Channel Erlang Tutorial
Provider YouTube
Instructors Michal
Level Beginner
Workload 8–9 hours
Views 17K
Cost Free
Certificate None

Best Free Practical Erlang Course for Beginners (University of Kent)

Erlang Master Classes is a free course made up of three master classes taught by esteemed Erlang programmers (one of them even helped invent Erlang). Each class focuses on different aspects of Erlang — functional programming, concurrent programming, and larger-scale programming with OTP — are used to solve complex real-world problems through case studies and examples. By the end of the course, you’ll know how Erlang is used practically.

The course assumes you have some basic familiarity with Erlang (watch the first video of the first masterclass to know more).

The master classes cover:

  • First master class:
    • Focuses on language processing, particularly arithmetical expressions in Erlang
    • Interpretation, compilation, and execution of expressions on a virtual machine
    • Simplification and conversion to/from textual form
  • Second master class:
    • Understanding Erlang’s concurrent programming through the “share nothing” model
    • Making sequential code concurrent
    • Building systems with communicating processes
    • Erlang’s fault tolerance approach
  • Third master class:
    • In-depth exploration of OTP, Erlang’s Open Telecom Platform
    • Overview of generic behaviors like generic server
    • Using OTP to build complex systems quickly and reliably
    • Packaging and releasing systems
  • Presented by:
    • Joe Armstrong, Ericsson AB and KTH, Stockholm, one of the “gang of three” Erlang inventors and a champion of the Erlang approach to programming large complex systems.
    • Francesco Cesarini, CTO and founder and Technical Director of Erlang Solutions Ltd
    • Simon Thompson, functional programming teacher and researcher at the University of Kent
  • Each master class includes a discussion among presenters on issues raised in the class.

This MOOC was created to celebrate the university’s 50th anniversary. It highlights the university’s successes and points to where it might go in the future.

Institution University of Kent
Instructors Joe Armstrong, Francesco Cesarini, Simon Thompson
Level Intermediate
Workload 4 hours
Cost Free
Certificate None

Best Free Comprehensive Text-based Erlang Tutorial (Frederic Trottier-Hebert)

Learn You Some Erlang for Great Good! is a free comprehensive text-based Erlang tutorial, based on another well-received tutorial of similar name, Learn You a Haskell for Great Good!.

It is for people who have basic knowledge of programming in imperative languages but are unfamiliar with functional programming. You’ll explore how Erlang is very pragmatic in its approach to functional programming, and how it results in robust, concurrent, distributed systems.

What you’ll learn in this course:

  • Exploring basics of Erlang: variables, data types, conditional statements
  • Functional programming concepts: recursion, higher-order functions
  • Understanding concurrency in Erlang: processes, message passing, introduction to OTP for building distributed and fault-tolerant systems
  • Smart error and exception handling for fault tolerance
  • Utilizing data structures and algorithms in Erlang
  • Working with sockets, networking, event handlers, and supervisors
  • Learning testing and debugging in Erlang, including using tools like EUnit
  • Deployment of Erlang applications

The course has 36 chapters covering theoretical concepts and practical implementations, learn by reading and implementing code from the course on your system. It’s also available as a paper copy if you prefer a paper text or reference book.

Frederic Trottier-Hebert is a French-Canadian working as a site reliability engineer at honeycomb.io. He owns a blog. He has also written other books/tutorials: ‘Erlang in Anger’ and ‘Property Based Testing with PropEr, Erlang, and Elixir’.

Website learnyousomeerlang.com
Instructor Frederic Trottier-Hebert
Level Beginner
Workload N/A
Cost Free
Certificate None

Best Free Text-based Erlang Course with Exercises (erlang.org)

The official Erlang course from the Ericsson OTP Team is An Erlang Course. The free text-based course covers Erlang from its history to basic and advanced Erlang.

However, this course is quite bare, so be sure to supplement this course with other courses in this best Erlang courses guide, the course’s own exercises, and Erlang’s discussion forums.

You’ll need programming experience to take this course.

The 5 modules of this course cover:

  • Overview of Erlang’s history and design principles
  • Sequential programming: concepts and Erlang’s functional programming capabilities
  • Concurrent programming: processes for lightweight concurrent execution
  • Error handling in concurrent environments
  • Advanced topics and quirks in Erlang.

According to the course description, this course will take 4 days to complete, but that can vary depending on your current skill. You’ll learn by reading through the course modules and completing the exercises to help you put what you’ve learned into practice.

Provider erlang.org
Level Beginner
Workload N/A
Exercises Included
Cost Free
Certificate None

Best Paid Book for Learning Erlang (Joe Armstrong)

Written by one of Erlang’s creators, Programming Erlang: Software for a Concurrent World (Pragmatic Programmers)  will take you through Erlang’s capabilities step by step, from sequential to parallel programming, error handling, distributed programming, and using Erlang/Open Telecom Platform (OTP) frameworks. This comprehensive guide equips you with the skills to write efficient, scalable programs that dynamically detect and correct errors and can be upgraded seamlessly.

Although the info says you don’t need experience in functional or parallel programming, some beginners prefer to start with Learn You Some Erlang (above) <embed>  before progressing to this text.

It includes exercises for beginners and advanced users and is also a great reference book.

What the book will teach you:

  • Writing parallel programs that scale effortlessly on multicore systems using Erlang
  • Understanding Erlang’s approach to parallelism through sets of parallel processes
  • Sequential programming in Erlang
  • Handling errors in parallel programs
  • Working confidently with distributed programming and Erlang/Open Telecom Platform (OTP) frameworks
  • Hands-on, real-world tutorial examples and insider tips and advice
  • New chapters covering the latest Erlang features: maps, type system, Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment
  • Dynamic error detection and correction in Erlang programs
  • Using rebar, the Erlang build system, and sharing Erlang projects on github.
Provider ‎Pragmatic Bookshelf
Author Joe Armstrong
Level Beginner to advanced
Workload N/A
Rating 4.7 (Amazon)/4.0 (Goodreads)
Exercises Beginner to advanced
Cost Paid
Certificate None

Best Free Erlang Practice Exercises (Exercism)

Exercism is an excellent resource for improving your coding skills in Erlang. It is a free online coding platform that not only offers a variety of programming challenges and exercises for all skill levels, but it also provides a free mentoring service where you can request personalized feedback from experienced Erlang programmers for a particularly challenging exercise.

What you’ll learn:

  • Easy exercises involve tasks like identifying triangle types, finding prime factors, and basic list operations
  • Medium difficulty exercises include calculating meetups dates, modifying minesweeper boards, and detecting saddle points in matrices
  • Hard exercises entail creating binary tree zippers, generating square matrices in spiral order, and constructing domino chains.

You can take all the time you need to complete the 70+ hands-on programming exercises. Each exercise comes with automatic feedback of your code as well as personal mentoring to help you understand your code’s strengths and flaws.

Exercism provides exercises on 60+ programming languages including Python, Kotlin, F#, and even WebAssembly. Their mission is to help everyone get really good at programming, regardless of their background, share the love of programming, and help people upskill as part of their upward social mobility.

 

Provider Exercism
Level All levels
Workload N/A
Enrollments 4.8K
Contributors 60
Mentors >100
Exercises Easy, medium, hard
Cost Free
Certificate None

Best BEAM VM Course (BEAM Wisdoms)

Erlang uses the BEAM Virtual Machine and BEAM Wisdoms gives you all the info on the BEAM VM. One handy section is ELI5 (explain like I’m 5), then you’ll see the Deeper Knowledge Section and Todo.

In the ELI5 section, you’ll learn about:

  • Atoms
  • Processes
  • Process heaps
  • Input/output and ports
  • Tracing
  • BIF and NIF functions
  • Types
  • External term format
  • Property based testing
  • Efficiency
  • Memory performance

And for the deeper knowledge section, you’ll dive into the BEAM VM, specifically:

  • BEAM Definitions
  • Data types memory layout and BEAM internal data sizes: immediate values, lists, boxed, headers
  • Process heap layout; how heap grows
  • Interfacing Erlang with the outer world: native libraries, ports and network
  • BEAM file format: sections, BEAM compact term encoding, code section format
  • BEAM instruction codes: opcode table, binary matching and operations
  • IO in Erlang: how a driver looks like, making a port driver.
Provider BEAM Wisdoms
Level Intermediate
Workload N/A
Cost Free
Certificate None

Other Resources

Why You Should Trust Us

Class Central, a Tripadvisor for online education, has helped 60 million learners find their next course. We’ve been combing through online education for more than a decade to aggregate a catalog of 200,000 online courses and 200,000 reviews written by our users. And we’re online learners ourselves: combined, the Class Central team has completed over 400 online courses, including online degrees.

Best Courses Guides (BCG) Methodology

I built this guide following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:

  1. Research: I started by leveraging Class Central’s database and the internet. Then, I made a preliminary selection of Erlang courses by rating, reviews, and bookmarks.
  2. Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
  3. Select: Well-made courses were picked if they presented valuable and engaging content. Criteria include comprehensive curriculum, affordability, release date, ratings and enrollments.

Pat revised the research and the latest version of this article.

Best Courses Guides. Start Learning, Stop Procrastinating.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.
Pat Bowden Profile Image

Pat Bowden

Online learning specialist, still learning after 200+ online courses completed since 2012. Class Central customer support and help since 2018. I am keen to help others make the most of online learning, so I set up a website:  www.onlinelearningsuccess.org

Comments 0

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects