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. :)