

A Beginners Guide to Erlang - wardb
http://blog.equanimity.nl/blog/2013/05/29/a-beginners-guide-to-erlang/

======
mononcqc
The post does link to Learn You Some Erlang, but does so with what looks like
an associate/affiliate link to amazon. I do prefer people to go to the home
page, <http://learnyousomeerlang.com/> which also contains the entire thing
visible for free online.

~~~
wardb
Fixed and pushed. Also included this great guide under documentation. (And
added a warning for the affiliate links).

~~~
mononcqc
Thanks for the quick response, much appreciated!

------
SingAlong
I'm currently reading "Programming Erlang" by Joe Amstrong and I'm loving it.

Buy the second edition beta ebook here -
<http://pragprog.com/book/jaerlang2/programming-erlang>. The new edition
highlights features that are in the yet-to-be-released versions of Erlang.
Also has content on how to use tools like rebar.

There's also Chicago Boss, which is a cool web framework. If you are coming
from Rails, you'll feel right at home.
<https://github.com/evanmiller/ChicagoBoss/>

The IRC channels: #erlang, #chicagoboss #ninenines (for Cowboy, Ranch, etc) on
Freenode.

------
kailuowang
erlang is not a difficult language to learn IMO. What I, as a beginner to
erlang from other languages, would like to see is a lot more solid libraries
and sample code for strings rather than bytes.

------
andrewparker
This is a great page, but it assumes that I (the reader) am already certain I
want to invest time learning Erlang. I think it would be valuable if the
author would open the page with a brief paragraph on why it's worth investing
the time to learn Erlang and some of its tradeoffs vs other languages.

~~~
501
Collating all the tradeoffs and bugbears would benefit both the existing
community and newcomers. Things that bug me that immediately come to mind:

* No public bug tracker

* epmd's security (or lack thereof)

* Can't insist that epmd be started separately (`erl -no_epmd` won't start epmd but it also won't start epmd's gen_server)

* Can't swap out epmd because while `erl -epmd_module foo` is there, `net_kernel:epmd_module()` is barely used. (Although I don't think it's interface is documented anyway)

* No built-in way to hook UNIX signals

* While the documentation itself is pretty good, it's presentation is lacking and it's difficult to quickly correct mistakes as you run into them

* It can be difficult to reason about when a shared binary will be garbage collected

* OS packaging (I'm thinking of Debian/Ubuntu) of Erlang and Erlang apps tends to be more harmful than helpful (old packages, namespace conflicts, etc)

