Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Erlang and OTP in Action 1st Edition
Concurrent programming has become a required discipline for all programmers. Multi-core processors and the increasing demand for maximum performance and scalability in mission-critical applications have renewed interest in functional languages like Erlang that are designed to handle concurrent programming. Erlang, and the OTP platform, make it possible to deliver more robust applications that satisfy rigorous uptime and performance requirements.
Erlang and OTP in Action teaches you to apply Erlang's message passing model for concurrent programming--a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Unlike other books on the market, Erlang and OTP in Action offers a comprehensive view of how concurrency relates to SOA and web technologies.
This hands-on guide is perfect for readers just learning Erlang or for those who want to apply their theoretical knowledge of this powerful language. You'll delve into the Erlang language and OTP runtime by building several progressively more interesting real-world distributed applications. Once you are competent in the fundamentals of Erlang, the book takes you on a deep dive into the process of designing complex software systems in Erlang.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
- ISBN-101933988789
- ISBN-13978-1933988788
- Edition1st
- PublisherManning Publications
- Publication dateDecember 14, 2010
- LanguageEnglish
- Dimensions7.38 x 0.92 x 9.25 inches
- Print length500 pages
Customers who viewed this item also viewed
Editorial Reviews
About the Author
Eric Merritt is a core developer for Erlware and the Sinan build system.
An Erlang pioneer, Richard Carlsson is an original member of the High-Performance Erlang group.
Martin Logan is a leading Erlang developer, a frequent conference presenter, and the primary developer of the Faxien OTP/Erlang package management system.Currently he works for Orbitz Worldwide, developing solutions for their large scale distributed service-based infrastructure. Richard Carlsson was an original member of the High-Performance Erlang groupat Uppsala University, and has contributed to many parts of the standard libraries, the Erlang compiler, runtime system, and the language itself. Eric Merrit specializes in concurrent languages and distributed systems. Hes a core developer for the Erlware family of open-source products.
Product details
- Publisher : Manning Publications; 1st edition (December 14, 2010)
- Language : English
- Paperback : 500 pages
- ISBN-10 : 1933988789
- ISBN-13 : 978-1933988788
- Item Weight : 1.63 pounds
- Dimensions : 7.38 x 0.92 x 9.25 inches
- Best Sellers Rank: #1,546,939 in Books (See Top 100 in Books)
- #278 in Software Design & Engineering
- #2,002 in Software Development (Books)
- #59,425 in Unknown
- Customer Reviews:
About the authors

Richard Carlsson has been deeply involved with Erlang since the mid-nineties. He was one of the original members of the High-Performance Erlang group at Uppsala University, and has contributed to many parts of the standard libraries, the Erlang compiler, runtime system, and the language itself. Among other things, he is the author of Erlang’s EDoc documentation system and the EUnit unit testing framework.

Martin Logan has been heavily involved with the Erlang community since 1999. Martin's great interest in distributed systems and service based design has led him to be a constant presence in the community having spoken many times all over the world on the topic in places such as Canada, USA, Sweden, and the UK as well as author the definitive book on the Erlang/OTP system with Manning publishing entitled "Erlang and OTP in action". Martin has implemented many complex systems that used Erlang in the telecom space including one of the first call detail record collection systems for the SIP protocol. Most recently Martin has focused on large scale e-commerce backing systems. Currently Martin brings his expertise to Orbitz Worldwide, one of the largest online travel companies in the world. Martin has taken a leadership role with Erlware where he is a core developer and the primary developer of the Faxien package management system.

Eric Merritt is a Software Engineer who specializes in concurrent languages and distributed systems. For the last nine years he has been coding Erlang and has also been heavily involved in the Erlang community. Currently, Eric is a core developer for the Erlware family of open source products and is the primary developer for the Sinan build system. His day job involves hacking Erlang for eCD Market, LLC. and he is a co-author on "Erlang and OTP in Action"
Eric has been involved in both professional and Open Source development for the last ten years. He started his career developing applications in C and Java on IBM Mainframe and Midrange hardware. He also provided training and consulting in object-oriented principles and concepts. However, his interest in languages, concurrency and distributed systems quickly drove him to more interesting and challenging work at companies like Amazon.com.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
One of the strange aspects about Erlang is that it eschews the use of the assignment operator. In fact, Erlang does not have an assignment operator and the = operator is a pattern matching operator. In Chapter 2, the authors comment that once you get used to the pattern matching operator you will wonder how you ever lived without it. Now as every programmer knows the assignment operator = is so fundamental to programming languages as to be almost burned into our DNA. When I first studied the pattern matching operator = I found it to be weird, contrived and unnatural. But after a a few months of Erlang it seems to be the most natural primitive operator that subsumes assignment as well as the relational operators ( == and !=). And every language that lacks it seems to be missing an essential operator. Erlang will put your brain on a different wavelength,
I initially tried to master Erlang in 2008 by reading Joe Armstrong's book but gave up after seventy five pages. I was completely new to functional programming and got bogged down in language details which were not properly explained. I looked briefly at the Ceserini book. In 2010 I started reading Erlang and OTP In Action. This is a very good book and is very well written. Bear in mind that explaining Erlang properly is not the easiest thing in the world. The authors have a lot of experience in designing Erlang systems and the expertise shows through in this book. This book has a great virtue, it is designed to provide you with the knowledge to build a real world massively concurrent Erlang application quickly. The approach is very pragmatic. Chapter 2 of the book teaches you the Erlang language. Despite being a very lucid presentation, I had to read this chapter twice very carefully. Chapter 3 to 5 leads you though the construction of a concurrent Erlang application using OTP (the Open Telecom Platform). OTP is a general behavior framework for building massive, scalable, fault tolerant, distributed Erlang applications. It is a very nice and refined piece of work. By the time you finish these first five chapters you will know Erlang and the Erlang concurrent programming paradigm. This is a fast track to specialized knowledge. The rest of the book gets into more advanced aspects of OTP. If you want to build a massive concurrent Erlang system then you should be using OTP. In summary this book is very highly recommended and the authors have to be commended for taking the time and care to craft a great book on a difficult subject.
* Joe Armstrong's book is a fantastic primer.
* Cesarini's book is indispensable, and a great reference.
... and the new Erlang and OTP in Action book is fantastic -- it fits a niche the other's don't cover: learning OTP.
Want the mystery of OTP to be no more? Pick up this book! I'm 75% of the way though it, and *extremely* happy I bought it.
The book is divided into 3 sections, as follows:
1) Erlang and OTP basics.
2) Building a production Erlang application.
3) Integration and tuning.
Section one covers basics of Erling and the OTP framework. Material is presented in a format suitable for beginners, with plenty of simple diagrams every couple of pages to illustrate key concepts. OTP in particular is covered in great detail, something intermediate-and-above users will appreciate. Section one alone would be a good Erlang book, but there is much more.
Section two built upon an application-building scenario. The scenario is a web application that's suffering from poor performance, so Erlang is used to build a caching mechanism. Erlang is strong on networking, so the reader builds everything needed from the bottom up. This section adds much value, as there is a pointed difference between knowing language syntax and knowing best practices in writing an application. (This book gives you the best practices as well as the language basics.) The chapters in this part of the book usually start by describing some desired functionality, then explaining how Erlang can provide that functionality, then finally going step-by-step through implementing the change. It reads like an in-depth tutorial.
Section three is about integrating your Erlang application with external entities. Integration-by-messaging is covered via JSON, while deeper integration needs are explained as Erlang's language integration mechanisms are explained. One notable point: JInterface, the Erlang-Java interface, is given a whole chapter (other Erlang books give this topic very little coverage in comparison.)
I found the book well-written and very informative. This is a big book-- almost 400 pages-- and all of it is worthwhile and nicely explanatory. I would recommend this book for Erlang coders of all experience levels.
Top reviews from other countries
So what does it bring to the party? As good as those previous books were, there was still a gap between learning the language and creating your first Erlang application with the type of enterprise features that Erlang so readily provides. This book by looking at Erlang and it's OTP library more than fills that gap.
This book shows you not only how to program in Erlang but also how to provide multi-processor fault tolerance though the OTP library and various standard templates such as gen_server.
Although it is some years since I used last used Erlang in anger(got the certificates and the tee shirt), it was an interesting experience to renew my acquaintance with it through this book. One thing that hit me while reading it was its description of Erlang use of processes as first class objects. While I have always been aware of Erlang's efficient threading mechanism, it had never really occurred to me before that in Erlang processes could be utilised in the same way another language may use integers. Coming from an embedded C background, this casual use of multi-threading is a revelation.
The book came into it's own when it provides an example of creating a HTTP caching server. This starts simply and is extended by adding more enterprise features, at the same time showing how OTP facilitates this.
Another thing the book will do is calm your nerves about the functional programming paradigm. People are often put off Erlang and similar languages because the syntax and operation are very different from most mainstream languages such as Java. In some ways the proponents of such languages have been at fault for this by emphasising their functional programming credentials rather than emphasising why the functional languages solves many real world issues such as large scale concurrency. By describing the use of Erlang and OTP together, the reader is somewhat insulated from some of the more theoretical sides of functional programming and can instead concentrate on getting the job done.
If you are new to Erlang and functional programming then I would not recommend this book on its own. However it is an essential companion to one or both the other books I mentioned previously. If you know some Erlang and wish to use the language to create a fault tolerant multi-processing application such as those which are routinely deployed around the world then I heartily recommend this book.


