About The Book

This book introduces you the language and let you learn:

How to develop with Erlang

Learning the idioms, the good way and best practices to get real and production code.

How to develop with Erlang

Not only about processes, we also review some important modules and how to work with dates, files, ETS, DETS and much more.

How to deal with concurrency

We talk about processes and then nodes and how to work with them.


And most important, we talk about real code and how to release and hot-upgrade your projects.

What's inside the book

Here you can check it out what you can find inside of the book, chapter by chapter and some extracts if you want jump into the reading right now.

What you should know about Erlang   sample

Definitions of Erlang as language and platform, features, history, what was made with Erlang and the concurrency.

The Language   sample

Syntaxis of the language, data types (atoms, integers and floats, variables, lists, tuples, records y maps), data conversion and printing to the screen.

Real Time

Date and times, definition of monotonic time, how works the time and time measurement in Erlang and important changes in OTP 18.

Expressions, Structures and Exceptions

Arithmetic and logic expressions, operators precedence, pattern matching, control flow structures (case and if), comprehension lists and functional blocks.

Functions and Modules

Code organization, functions scope, polymorphism and pattern matching, guards, closures, functional programming, recursivity and built-in functions.


Process anatomy, advantages and disadvantages of the Erlang process system, spawn, registering processes with names and process communication, link processes, monitoring processes, reloading code, nodes and remote process calling.

ETS, DETS and Files

How to use ETS and DETS, create, remove and look up for information. Handling files individually (create, read, write and remove) and inside of a directory (active working directory, create directory, list and remove directories).


Communication network concepts, creation of clients and servers for TCP and UDP protocols and concurrent connections using TCP.

Erlang Ecosystem

At last we'll give a tour to the Erlang ecosystem. We will learn to develop a project using rebar3 as main tool to create the project and create releases and hot-upgrades for our code.

When you are stuck in a traffic jam with a Porsche, all you do is burn more gas in idle. Scalability is about building wide roads.

Don’t miss the opportunity of learning!

15,00 €

* eBook includes PDF & ePUB versions

Frequently Asked Questions

Whether you have questions or you would just like to say hello, contact us. Maybe some of your questions could be answered with the following frequently asked questions.

Actually, this is not very basic, this is going from the basics but it's bringing you to an advanced level. If you have any knowledge but you are not very confident developing with Erlang, you should review all of the contents proposed in this book previously to go into OTP.

If you know a bit about Erlang but you have any questions about:

  • How to use correctly the atoms, lists or binaries?
  • How to deal with dates and times?
  • How to use processes, links or monitors?
  • How to handle ETS, DETS or files?
  • How to create a socket as a client, server or build a concurrent server?
  • How to create a rebar3 project from scratch?

Then I recommend you to get this book.

Actually not. The material is shown assuming you have no specific knowledge about programming. The book brings you all you need to understand from scratch and avoiding comparisons with other languages.

Even, we found it's better if you know nothing about programming because the way of developping with Erlang is very different from other popular programming languages.

There are great books about Erlang, but most of them are based on you know how to develop. Indeed, most of them are focused on processes and the specifics of Erlang and not on Erlang as a general-purpose language.

In addition, it was the first material that I used for the training that I gave to the people who joined the company when I adopted Erlang (2009) in the company and I improved it year after year.

Readers Reviews

Manuel Rubio
Know More About Author

Manuel Rubio

Polyglot Developer, Writer, Manager and Trainer

He started programming at the age of 12 with languages such as GW-BASIC, QBasic, MODULA-2, Pascal and C. When he started working he already mastered Java, JavaScript, PHP, Perl, Ruby, Python among others and later he would start with Rust , Golang, Erlang, Elixir and Gleam. But what attracts him most is being able to teach programming in those languages to others. He began his training as a teacher attending a course in London and later as a mentor for Erlang, Elixir, OTP, Ecto and other technologies within Erlang Solutions Ltd. Writing books is for Manuel another way not only to teach but also to learn, as and as Feynman said.

Others books by the author

If you want to get updates for this book, offers and more: