Hi Dmitri,
I would definitely recommend “Learn You Some Erlang” as a first read, and front to back cover (or at least beyond the OTP chapters) to get started and comfortable (trust me, you’ll enjoy it ), and only then pick up other reading material to foster and bolster up your knowledge. If you start reading other books in parallel too soon, you’ll get confused (that’s my experience at least). The other books dig deeper into details which you don’t need to get off the ground. You should know them if you want to become a good Erlang programmer, but the first step is to become just an Erlang programmer
Lies! Don’t believe anything you read on the Internet
That said, my reaction when I had my first look at Erlang code (a RabbitMQ example plugin) was something like “OMG geez! ”
But seriously, it’s not really difficult, just very different (“somewhat scary and alien”, I read elsewhere in this very forum) from most other (frilly brace) languages. Then again, many things in Erlang are different, so it fits.
When you get past that first “culture shock”, you usually find that it is actually pretty nice. It just takes some time to appreciate the fact.
And IMO, it is a good thing that the syntax of Erlang is so different from other languages. My brain at least has less trouble switching out entire contexts than just some parts. For example, I once had to switch back and forth between Java and PHP (laugh all you want, it pays the bills ), and I was always mixing up periods and arrows and $
- and non-prefixed variables etc. I don’t have that problem when switching to or from Erlang, my brain just goes into Erlang or non-Erlang mode. I even found that, while recursion is just natural to me when in Erlang mode, I really struggle with it when using another language.