Hacker News new | past | comments | ask | show | jobs | submit login
A Beginners Guide to Erlang (equanimity.nl)
120 points by wardb on May 31, 2013 | hide | past | favorite | 7 comments

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.

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

Thanks for the quick response, much appreciated!

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.

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.

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.

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)

Applications are open for YC Winter 2021

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact