Erlang is a very popular concurrent functional programming language that was designed with high availability in mind. Briefly speaking, the main characteristics of Erlang and the Erlang concurrency model are as follows:
- Erlang is a mature and tested programming language – this also applies to its concurrency model.
- If you do not like the way Erlang code works, you can always try Elixir, which is based on Erlang and uses the Erlang VM, but its code is more pleasant.
- Erlang uses asynchronous communication and nothing else.
- Erlang uses error handling for developing robust concurrent systems.
- Erlang processes can crash but if that crashing is handled properly, the system can continue working without problems.
- Just like goroutines, Erlang processes are isolated and there is no shared state between them. The one and only way for Erlang...