As a programming book junky, I love seeing fun stuff because even my odd taste in literature can be curbed by material that is super dry.
I stumbled upon “learn you some Erlang for great good!” (lysefgg) after doing research on what resources were available for understanding the popular functional language. Even though I’m still in the middle of the book, the author has done a great job so far of explaining Erlang and why Erlang’s features are so cool.
My primary work experience is not in functional languages. I have spent most of my time with Python, C, C++, Java, C# and the like so my brain is accustomed to non-functional languages. Erlang fascinates me not only because of its killer features like handling concurrency but also because of how it solves problems. The mental leap required to program primarily with recursion and single assignment variables stretches my thinking, enabling me to apply different kinds of techniques to problems.
Learning and stretching are why I read these kinds of books. If you’re looking for a different way of thinking about programming, look at a functional language. Erlang, Lisp, Haskell, or Clojure would all be great choices. lysefgg is freely available to read online or you can get the dead tree version. Who knows, you might even have fun().