4.88 (4 reviews)
☑ Functional programming
☑ Higher order functions
☑ Pattern matching
☑ Anonymous functions
☑ List comprehension
☑ Side effects
You have probably heard about WhatsApp by now. And you might also have heard that it handles a fair amount of users each day. In fact, they managed to grow their user base to millons of users with an engineering team of only 32 persons using Erlang, before being acquired by Facebook. But WhatsApp is not the only success story. You would be surprised if you knew how many of the things you take for granted in your daily life are in fact powered by Erlang. It all started with the telecom business, but Erlang has since then gained popularity in many areas, including fintech, IoT, Healthcare and gaming. Just to name a few!
There are two main paradigms of the Erlang language. The functional paradigm, and the concurrent paradigm.
In this course, we will put our focus on the sequential part of Erlang. You will often hear people claiming that functional programming is very intuitive. And it is. But only once you have understood it! Until then, it can be a struggle to put it mildly. You can think of it a bit like learning how to ride a bicycle. You will probably crash a lot in the beginning, but once you get the hang of it, you’ve got a truly amazing skill at your disposal.
So by taking this course, you will not only learn about Erlang in particular, but you will also learn about functional programming in general. And we will hopefully sort out some confusing topics such as pattern matching, recursion, side effects and higher order functions along the way.
And this will also give you the tools needed for another course, which I am currently working on, concurrent Erlang. This will enable you to build massively scalable soft real-time systems.
So, if any of this sounds interesting to you, give it a try and tell me what you think.
Setting up the environment on a Mac
Setting up the environment on a PC
Setting up the environment on Linux
Introduction to the Erlang shell
The slightly awkward syntax of Erlang
Different types of data
Numbers and operators
Putting it all together
Splitting the atom
Oh variables, where art thou?
Greetings from the world of Erlang!
Go with the flow
Keep calm and let it crash!
Becoming a functional hipster
Fun fun functions!
Just add another layer of abstraction
A short note on side effects