Elixir. It has the very same concepts (actually it IS a dialect of Erlang - it's just a different front-end for the same compiler), but with a saner syntax. After a while you do Elixir, you'll start grokking Erlang.
(Of course, if you need to deep dive into some Erlang code tomorrow, "Learn you some Erlang" or Joe's book. But do your Elixir.)
Also, https://ferd.ca/ , the guy behind Erlang in Anger and Learn you some Erlang, has a lot of very well thought-of contents.
I'm with you for "subjective". Though "strings are UTF8 binaries" ain't that bad. Or first-class, MD documentation. Or the pipe operator. Or a number of other niceties. :-)
- OTP27 added sigils[0], which allow you write UTF8 strings with just an additional tilde character
~"hallöchen" =:= <<"hallöchen"/utf8>>
- Also, since OTP27, Erlang's own documentation[1] is written in Markdown and created using ex_doc[2]
- doc attributes etc. have been added in OTP27 as well, I think
- You can use ex_doc in your own Erlang projects using rebar3_ex_doc for a while now[3]
I also miss the pipe operator, but there seems to be some opposition against it in Erlang-land (and it would need to be adjusted as Erlang's standard library doesn't put the "main" argument consistently in the first argument slot like Elixir does).
The benefit of a syntax developed this century is that you can have the strings people probably want with the syntax for strings they probably want.
But for someone coming from java and javascript, I don't think Erlang or Elixir are going to feel particularly sane. As a person who got into Erlang before Elixir, I was hearing about a new BEAM language with 'sane syntax', and then disappointed when I saw it didn't have what I was looking for most, angle brackets. Oh well, it seems to make a lot of people happy, and it gets more attention on BEAM, so it doesn't need to make me happy does it. :)
Also second this. It might seem at first like an unnecessary lift, but it will be a great stepping stone. If you haven't used a functional language before, there are some differences you need to grok (such as immutability, looping) before you'll be able to kill it. Elixir's syntax will be a lot more familiar to you, but will get you used to all the data structures/types/patterns you'll need for erlang. At that point it's just learning some syntax differences.
(Of course, if you need to deep dive into some Erlang code tomorrow, "Learn you some Erlang" or Joe's book. But do your Elixir.)
Also, https://ferd.ca/ , the guy behind Erlang in Anger and Learn you some Erlang, has a lot of very well thought-of contents.