Two questions: 1) What's the best book for learning to program in Erlang?
2) And also what's the best reference book for the proficient Erlang programmer?
Thanks guys!
Two questions: 1) What's the best book for learning to program in Erlang?
2) And also what's the best reference book for the proficient Erlang programmer?
Thanks guys!
Did you have a look to this one?
http://www.erlangprogramming.org/
They also have a nice community (a Google group) for discussing the exercises.
Joe Armstrong's book and thesis are also a must for your shelf.
Here are a few resources:
Programming Erlang, by Joe Armstrong. A good book, really teaching you more about the fundamentals of Erlang and hot the abstractions are built. Some people found it a bit dry and hard to follow. Joe Armstrong is the original creator of Erlang, along with Robert Virding and Mike Williams
Erlang in Practice, screencasts by Kevin Smith. He starts from scratch and makes you build a distributed chat application with mochiweb. Then you refactor it to use OTP behaviours and finally pack it up into an OTP application. It's worth it if you've got some experience already and are really looking at how to build stuff rather than references.
Erlang Programming, by Francesco Cesarini and Simon Thompson. This book is often suggested along with Joe Armstrong's book. It's got the approach of Software engineers and contains more tips about debugging software, maintaining it, profiling, tracing, etc. Whether you prefer this book or Joe's book is usually pretty personal.
Learn You Some Erlang for great good!, by Fred T-H (that's me). I'm tooting my own horn here. It's an online book I am currently writing that's still not complete, but attempts to be friendly and a free alternative to other books.
Concurrent programming in ERLANG, by Joe Armstrong, Robert Virding, Claes Wilström and Mike Williams. This is an old out of print book from the 1996, pretty rare and costs a lot. It was commissioned by Nokia (or some other telco corp) if I recall correctly. Back then, Erlang was still closed source. even though it shows the bases real quick, I consider it an advanced book for the chapters 11 and 12, which basically encompass a few of Erlang's many clever distributed algorithms for handling distributed processing and distributed data (including how to implement transactions for a database and whatnot). You can still get the first part online for free, which will guide you through the basics, although I'd avoid them as a learning source for a newcomer.
There are few other books, either not yet released or that I have not read (yet), so I couldn't give you more than a link:
There are a few other sites which either mention Erlang or see it on the surface, but I couldn't include everything. If you really want something very hands on, I recommend Erlang for Skeptics, by Luke Venediger. The book is very short and Luke has been thinking of reworking it, but it's a very quick walkthrough.