- Paperback: 536 pages
- Publisher: Pragmatic Bookshelf; 1 edition (July 21, 2007)
- Language: English
- ISBN-10: 193435600X
- ISBN-13: 978-1934356005
- Product Dimensions: 7.5 x 1 x 9 inches
- Shipping Weight: 1.8 pounds
- Average Customer Review: 35 customer reviews
- Amazon Best Sellers Rank: #1,266,301 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Programming Erlang: Software for a Concurrent World 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
Top customer reviews
This may not be the perfect book, it has its problems such as promising that some things will be pointed out but the chapter ends without fulfilling it. A few minor frustrations aside the book provides a very good overview of the most important points of Erlang with enough breadth and depth. The chapter where Armstrong talks about a simple then adding transaction semantics, fault tolerance, hot code swapping, etc. is a kind of tour de force. Another good application is a Shoutcast server implementation in just a few lines of code. It would be very good to compare this example to Peter Seibel's Practical Common Lisp .
If you want to learn more about this kind of programming, I'd definitely suggest reading 'Concepts, Techniques, and Models of Computer Programming'  which shows the Oz programming language and the Mozart platform and teaches the fundamentals of message-passing concurrency and network-transparent distributed programming.
Finally it must be repeated that Erlang has a very high-quality VM along with mature libraries for concurrency and reliability. If you want to experience industrial-strength distributed and / or multicore applications that scales well then it would be only wise to follow the advice of Joe Armstrong.
Warning: If you are not exposed to Lisp, Prolog, Haskell, Oz, etc. beforehand be careful for a different kind of syntax and semantics. You'll have unlearn a few concepts to understand the power of new concepts.
Erlang is pure functional language, and Joe Armstrong does great job of introducing the reader to the concepts, underlying libraries, and provides several non-trivial examples: IRC-like service, SHOUTcast server, and a full text-indexing search engine. You don't need to have any prior knowledge of the language or functional programming as a whole, the writing reads very easily, and you'll be up and running in no time.
I can't say that I'm writing Erlang programs all of the sudden, but I can say with confidence that I've picked up some very important architectural principles and an appreciation for the messaging-passing architecture. Great book, and highly recommended for any programmer.
I am so looking forward to use Erlang in my day-2-day work! I am a fairly proficient Perl user and while there is very little that I can't accomplish with perl, I was looking for a more powerful, possibly compilable language to expand my productivity. I tried Java and C++, and while I liked very much the the concept of protection, encapsulation, overloading and so on, the overall OO was somehow confusing to me and didn't make it easy to learn the language and use it effectively.
Erlang is so much easier for me to grasp and get the knack for it.
It's too early for me to judge it - but it's surely much easier to learn and Joe Armstrong definitely earned my admiration for making it happen trough his excellent book!
I enjoyed the book as it gave a good overview of the concepts and capabilities of Erlang. But now I'm wanting for more -- more depth on concurrency and fault tolerance; more complete real world examples; how to use for building web apps; and of course how to use with Amazon web services.
So what this book needs now is a sequel!
The book is an excellent introduction to the subjects of Erlang, building fault-tolerant software, and concurrency in software. If you're new to Erlang, you'll be very surprised at how advanced the language and the doctrine for its use is, how large a body of software has been written in it, and at how many platforms it's been ported to. It's been one of those treasures hidden in plain sight for years. (It probably hasn't helped that the language germinated in Europe--cross-continental pollination hasn't been as good as one could wish.)
Many of the well-known geniuses in the software world are natural writers as well as programming gurus. Joe Armstrong is the equal of any of them in the field of software engineering and development, but he is less well known than many others, possibly because he is not a natural writer (I've read his dissertation). Fortunately, he's had plenty of well-qualified help with this book, and I recommend you buy it.
Most recent customer reviews
but I do not believe Joe is a good book writer, it does not cover anything deep enough as...Read more
Since I wrote my review in 2008 the Cesarini and Thompson book has been published, and I...Read more