I knew a touch of prolog so the syntax was obvious, and it’s similar enough to the ML languages that I already knew that it was quite easy to pick up as a language, however OTP was new to me and was amazing to work in so I just kind of dived in to the code and docs both to see what made it tick and understand it, so I’m self taught I guess!
I learned Erlang through Learn You Some Erlang for Great Good by Fred Hébert, I found it a nice and concise introduction, but I had worked in multiple languages before then, did a little functional programming (Scheme) and did some related university studies.
I’m self taught, through Fred’s LYSE and other online sources I could find at the time. I later bought a few more books (including another of Fred’s), and did Simon’s courses on Futurelearn.
I struggled to learn it at first attempt. I also struggled to learn it at second attempt. Third time worked a charm! On this occasion, I set myself a problem and solved it with Erlang. I was on a work trip with a bit of downtime that I filled with this exercise.
I never really read it front to back, but often when I had problems one of its chapters was on the top of the search results. I learnt much from those. Another top result has been "Erlang in Anger“ which is written by Fred as well.
My professor said to me while we were working on my thesis “look up erlang, you will like it”.
So looked it up and here we are.
I was curious about why he knew erlang though since he didn’t teach any Functional Programming or Distributed systems course. When i learnt that Erlang firstly was kind of dialect of Prolog i understood. He is a huge fan of Prolog.
Long ago, more than 15 years, I was a C/C++ programmer working for a start-up that was creating a Media Gateway Controller, with custom h/w and s/w. The machine interface used Megaco H.248, and needed testing. The test tools of the time were either exorbitant, incapable, or both, so I was given the task of making an H.248 test tool.
I found an H.248 protocol stack offered as open source from Ericsson – it just happened to be built on this weird language, Erlang. Well, that wasn’t gonna stop me. The test tool I wrote in Erlang was remarkably capable, outpacing the C/C++ product even when running on Pentium PCs
It made me unpopular with the dev team there, so I joined T-Mobile where Erlang skills were in demand – bye-bye C/C++, never looked back (-:
My office back then had a copy of the 1996 Erlang book from Ericsson, and I was in a small R&D team when my boss threw me a copy of Joe’s 2007 book as well. I read through the latter, then the former, then got more books anyway (Francesco’s first), and eventually got a job there.
I stole the 1996 copy of the book they had and still have it to this day, it was also my first intro to distributed systems (it showed how to implement a distributed 2-phases commit!)
At some point in the middle I had started writing LYSE on my own, and the most learning I did came from digging into the language design and decisions, e-mailing Robert and Joe and Richard Carlsson to get details about the rationale behind a few things, and then writing them down for others.
I’m self-taught as well: my introduction was from Joe Armstrong’s talk “The Mess We’re In”. From there I bought “Programming Erlang”and “Erlang and OTP in Action”, and printed out his thesis (accidentally single sided so it’s quite large…).
I’ve always been meaning to make time for “Erlang in Anger” so maybe I should soon!
I’m still learning Erlang. I’ve read parts of Programming Erlang, Erlang Programming, Learn You Some Erlang, and Erlang and OTP in Action. It’s been an iterative process for me, which seems appropriate. The people over on the Erlang Slack in the #learning channel have been unbelievably helpful.
I learned it by reading the reference manual in 2006 and the OTP docs available at that time (including releases, boot scripts and all that stuff).
When Joe release its book later on, I thought: waow that would have save me a few dozen hours… (thanks Joe for the community). I preciously keep my first printed edition of his book, it will become a collector in a few decades