Buy used: $6.15
FREE delivery April 25 - May 1. Details
Or fastest delivery April 19 - 23. Details
Used: Good | Details
Condition: Used: Good
Comment: Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less
Access codes and supplements are not guaranteed with used items.
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Amazon book clubs early access

Join or create book clubs

Choose books together

Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Kindle app logo image

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.

QR code to download the Kindle App

Follow the authors

See all
Something went wrong. Please try your request again later.

Erlang and OTP in Action 1st Edition

4.6 out of 5 stars 35

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.


Amazon First Reads | Editors' picks at exclusive prices

Editorial Reviews

About the Author

A core developer for Erlware, Martin Logan has worked with Erlang since 1999.
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. He’s 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
  • Customer Reviews:
    4.6 out of 5 stars 35

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.6 out of 5 stars
4.6 out of 5
35 global ratings

Top reviews from the United States

Reviewed in the United States on January 28, 2012
Erlang is considered the bete noire of programming languages with it's weird syntax and radical constructs. It's roots are in Prolog. Erlang is not pretty like Ruby but it has raw and brute power. It has a reputation of being very difficult to learn and even more difficult to master. But it is a language of many great virtues. In my opinion it is the only language which handles the concurrent programming problem properly. Erlang has all of the language constructs to build massive concurrent systems. This is the siren call or mantra as massive distributed systems start to become ever more important in application development. Erlang eschews threads for processes. Processes are the basic unit of concurrency in Erlang. Erlang processes are very lightweight and a computer with commodity hardware can easily host hundreds of thousands of Erlang processes. What makes this magic possible is BEAM, the Erlang virtual machine. Beam is the Bodgan Abtsract Erlang Machine. BEAM has been refined over some twenty years. Erlang is a functional programming language and message passing is the basic unit of inter-process communication in Erlang. The Erlang concurrent programming model implements the Actor design pattern. Erlang was developed from the git go to solve some very hard concurrent programming problems at the Swedish Telecom provider Eriksson; and the lineage shows in the language. Erlang is very pragmatic.

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.
8 people found this helpful
Report
Reviewed in the United States on February 24, 2011
There aren't that many Erlang books out there -- 3 modern ones.

* 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.
4 people found this helpful
Report
Reviewed in the United States on December 4, 2010
An excellent book on Erlang, with an emphasis on writing production-worthy code.

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.
18 people found this helpful
Report
Reviewed in the United States on May 28, 2013
Very nice book. Good for people who want to learn Erlang and OTP and use them. I would recommend this book to everyone who wants to get into Erlang/OTP.
One person found this helpful
Report

Top reviews from other countries

Translate all reviews to English
F. Caprari
5.0 out of 5 stars Libro fondamentale se volete conoscere OTP
Reviewed in Italy on December 4, 2018
Questo è un libro che ho consumato. È per me valido tanto per Erlang che per Elixir, per comprendere completamente i meccanismi di OTP e cosa accade sotto il cofano. Ok qualche cosa me l'hanno suggerita i miei amici di beam Italia ma di fatto è uno dei libri che sono fissi sulla mia scrivania. Mi ha aiutato anche in un talk.
One person found this helpful
Report
Bill Liu
4.0 out of 5 stars Four Stars
Reviewed in Canada on June 5, 2016
Good book for experienced developers/engineers but new to Erlang infrastructure.
hammarbytp
5.0 out of 5 stars A great addition to the Erlang library
Reviewed in the United Kingdom on September 30, 2012
Unlike some software languages, Erlang is not blessed with a large amount of literature for those interested in learning the language. While it has improved somewhat from the early days, there still are only 3 books(including this one) readily available. Firstly there is Joe Armstrong's book 'Programming Erlang' which is a good beginners guide, Francesco Cesarini and Simon Thompson's Erlang programming builds on this to provide a more advanced view of the language.

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.
3 people found this helpful
Report
Stefan
5.0 out of 5 stars Empfehlenswert
Reviewed in Germany on September 4, 2011
Fuer mich als ERLANG/OTP-Neuling ist das Buch ein sehr gelungener Einstieg in die Programmiersprache ERLANG und die "Open Telecom Platform". Allerdings sollte der Leser, meiner Meinung nach ordentlich allgemeine Programmiererfahrung haben bevor er zu diesem Buch greift. Die Lehrgeschwindigkeit ist ausgewogen. Fuer mich als Java Entwickler der sich im OO-Bereich gut auskennt allerdings von funktionaler Programmierung nur wenig weiss hat das Tempo gut gepasst. Sprachkonzepte und vor allem die der OTP werden anhand von praktischen Beispielen interaktiv erklaert. Ich hoffe fuer uns Entwickler, dass sich diese Plattform weiter durchsetzen wird. Ich kann das Buch sehr empfehlen.
One person found this helpful
Report