
Learn You Some Erlang For Great Good!
A Beginner’s Guide
by Fred Hebert · first published 2012
120mentions
89recommended by
90HN commenters
2010–2025first – last mentioned
99% recommend1% neutral
Why HN recommends it
Free, humorous, example-driven introduction to Erlang that teaches the language from fundamentals. It serves as a starting point for beginners, with Erlang in Anger as a follow-up for intermediate readers.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.






I've read: Elixir in Action by Sasa Jurić Programming Elixir by Dave Thomas Learn You Some Erlang for Great Good! by Fred Hebert All recommended.
on “Ask HN: What are your recommended books from 2015” ↗For anyone looking to learn more about Elixir/Erlang, here's a dump of links that I posted recently to the local Atlanta Elixir Meetup group. Roughly in the order I'd recommend consuming them. Dave Thomas - Power of Erlang, Joy of Ruby - https://www.youtube.com/watch?v=lww1aZ-ldz0 Dave Thomas Elixirconf Keynote - Think Different- http://www.confreaks.com/videos/4119-elixirconf2014-opening-...
on “Metaprogramming Elixir” ↗Warning: wall of text ahead. My Erlang experience is admittedly hobbyist, and mostly as a consequence of working my way through Fred's excellent http://learnyousomeerlang.com/ and fooling around with side projects. As I see it, Erlang does a lot of cool stuff, at a semantic and systems level, but utterly fails when it comes to things like approachability and marketing. These topics are universal
on “Why the Cool Kids Don't Use Erlang [video]” ↗For the absolute Erlang beginner (like me) who's wondering what the heck OTP is: http://learnyousomeerlang.com/what-is-otp
on “Learn You Some Erlang: Building an Application With OTP” ↗May I also recommend: Learning: http://learnyousomeerlang.com/ and also "Erlang and OTP in Action" by Martin Logan,et. al. http://www.manning.com/logan/ Web REPL: http://www.tryerlang.org/ Community: http://www.planeterlang.org/ http://www.trapexit.org/
on “Learning Erlang” ↗http://learnyousomeerlang.com/ is a really good resource for that, much better than a random collection of links.
on “The Erlang Stack” ↗Also, if you decide to go with erlang, I would recommend http://learnyousomeerlang.com/content. It is written by the same guy, two great books.
on “Erlang 16B Released” ↗> Based on this I'm guessing that Erlang is one of those functional languages that are great for mathematical proof-like software development but not practical for solving actual problems because the world is mutable and the language constructs are not. It was actually designed to solve actual problems. Specifically, extremely high reliability in some of Ericsson's core networking gear. I'd reco
on “Ask HN: Why isn't Erlang more popular?” ↗Another practical functional language is Erlang. It is at the core of many mobile to internet gateways out there. At the core of WhatsApp. Some databases (Riak, CouchDB) and message queues (RabbitMQ). Language-wise, besides concurrency constructs, you get pattern matching, immutable data structures (and bindings). Unlike Haskell, all types are dynamic (but strong). Also a counterpart to Learn Y
on “Programming and thinking the functional way” ↗For those who don't know, this is by the author of: http://learnyousomeerlang.com/ Which has the same clear, detailed and very approachable writing style. Erlang really needed a book like this that goes into some of what happens with real, non-toy applications. Hopefully he'll continue to add to it! For what it's worth, LYSE is one of the few paper books I've purchased in recent years - it's
on “Stuff Goes Bad: Erlang in Anger” ↗This looks promising. Will try and go through the entire thing. On a similar note about learning Erlang, can't stress how well written http://learnyousomeerlang.com/content is. Really sets the standards of how tutorials to learn a new language should be.
on “Let’s learn Erlang and fix a bug on a CouchDB Cluster” ↗> Incomprehensible rubbish, made more obfuscated by the second form. Okay, X appears to be an identifier bound as a parameter. So then why doesn't bar behave that way in... It appears that you don't understand Erlang syntax. Go back and read these two chapters [0][1] of Learn You Some Erlang, and revisit the article. [0] http://learnyousomeerlang.com/starting-out-for-real [1] http://learnyousom
on “Erlang beauty” ↗http://learnyousomeerlang.com/ That book is a good place to start. > Even if I can't use Erlang in production, I'm sure I'd find food for thought in the concepts. Oh boy are you going to be in for a treat. The concept for no loop construct other than recursion and recursive thinking was worth it for the little time I dabble in Erlang.
on “Erlang/OTP 20.0” ↗If you like this, I recommend checking out Learn You Some Erlang (for great good) http://learnyousomeerlang.com/content
on “The Zen of Erlang (2016)” ↗If you invest time learning Erlang everything around Elixir will make sense and it will be a pleasant experience not only to "write" but to test, debug and maintain as well. I would go through this slightly dated but gentle introduction before learning Elixir: https://learnyousomeerlang.com/content Thinking in processes and knowing/using the GenServer abstraction is the core of Elixir programming
on “Ask HN: Are you satisfied with Elixir or do you regret choosing Elixir?” ↗