Quickly going through https://learnyousomeerlang.com/ to discover OTP, processes and supervisor and you're ready to code.
After learning Erlang, and writing some basic stuff with it, I discovered Elixir and had nothing to learn except:
- "defmodule" instead of "package"
- "@callback" / "@behaviour" instead of "callback" / "behaviour"
- ":an_atom" instead of "an_atom"The pinning operator x = :x; {^x, y} = {x, "y"}
Exceptions are slightly different.
There are a few others that made me realize "oh shit I need to learn Erlang first."
Therefore saying "you need to learn 2 languages" isn't correct. It's like saying Javascript/Typescript are 2 different languages. Well yes, but if you're fluent with Javascript, you'll be able to read typescript, and if you're fluent with Typescript, chances are that you are fluent with Javascript too.
But I agree that one should learn Erlang first, because most of the documentation about Elixir seems to assume that you already know Erlang/OTP.
But I should learn Erlang eventually.