or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $15.50 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Erlang and OTP in Action [Paperback]

Martin Logan , Eric Merritt , Richard Carlsson
4.7 out of 5 stars  See all reviews (16 customer reviews)

List Price: $49.99
Price: $40.09 & FREE Shipping. Details
You Save: $9.90 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 10 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Tuesday, May 28? Choose One-Day Shipping at checkout. Details
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

December 5, 2010

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.


Frequently Bought Together

Erlang and OTP in Action + ERLANG Programming + Programming Erlang: Software for a Concurrent World
Price for all three: $103.33

Buy the selected items together


Editorial Reviews

About the Author

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

  • Paperback: 500 pages
  • Publisher: Manning Publications; Pap/Psc edition (December 5, 2010)
  • Language: English
  • ISBN-10: 1933988789
  • ISBN-13: 978-1933988788
  • Product Dimensions: 7.4 x 0.9 x 9.2 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #101,132 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.7 out of 5 stars
(16)
4.7 out of 5 stars
Most Helpful Customer Reviews
16 of 17 people found the following review helpful
Format:Paperback
I fell in love with this book after reading about half of it and previewing the rest.

Erlang is quite radically different from O-O/Imperative languages such as C# and Java, and I expected a steep learning curve, when I started reading Joe Armstrong's book Programming Erlang: Software for a Concurrent World. It is overall a good book, but some parts of Joe's book were not very clear to me even in the earlier several chapters, so I also got the O'Reilly Erlang book Erlang Programming. It was a bit of an easier read, but I still had some issues. [[And all this despite some background from graduate school in the late 80s and early 90s in the underlying CompSci topics such as Unification and Deductive Databases, Functional Programming, Lambda Calculus, Gul Agha's Actors Concurrent programming and Distributed Databases]]. In particular, the OTP coverage in the last 2 books left me a bit perplexed. Then I got this, Logan et al's book, and started from the first chapter, and I must say I admire the authors' ability to serve up concise yet clear explanations with a more practical tone and real world examples. Now all makes sense, both OTP and Erlang, in just a few days! Chapter 2 was a quick but great introduction to Erlang programming. And the OTP and tool introduction chapters have been even better. This is the book to get if you intend to use Erlang for real-world production applications as opposed to a passing 'academic interest'.

Now if you will indulge me in straying a bit beyond the review of this book: Having sampled Erlang/OTP and its suite of related tools and utilities such as Mnesia, Ejabberd XMPP server with EXMPP library, Mochiweb and YAWS web servers, etc. (the LYME platform); I think they constitute a great (imhop and dare i say - probably the best) platform for developing robust, world class application systems quickly and with less hassle. Many people eulogise about their performance, scalability, concurrency, distribution, fault-tolerance and integration advantages; but for me personally it is more about the overriding productivity advantages as all these architectural attributes are obtainable with lots of difficulty, time and cost on other platforms such as Java EE, LAMP and .NET. When a large portion of a development platform can be so well covered in under 400 pages, it surely must be not just the book authors' ability but more the platform's own compactness and expressive power. Try that for .NET or Java EE!!

But, then you ask yourself, with all the evidence, why has the open source LYME stack not taken the development world by storm after two or so decades of existence, given how costly, difficult and failure-prone development projects are? In particular, it would seem to be the likeliest choice for 1-man and small development teams and software entrepreneurs, with resource and time-to-market constraints. And you realise there is quite a steep entry barrier due to its functional and unusual nature and relative lack of literature. I think this concise, but excellent book will facilitate entry by the average programmer and finally a larger cross section of the software development community can leverage the power and productivity advantages of the awesome LYME. Sounds like I gulped down the Erlang koolade? Well, do yourself a favour and get this book and see for yourself or try out Ejabberd, CouchDB and other noSQL databases YAWS, etc.; compare them to better known alternatives and see for yourself.

Finally, if you're like me now entering Erlang/OTP, please do yourself another favour and additionally read Mitchell Hashimoto's Erlang blog articles series, [[...]] on OTP which greatly complement this book in covering aspects of OTP that Logan, et al have not prioritised for coverage, but rather refer the reader to the online Erlang documentation.
Comment | 
Was this review helpful to you?
14 of 15 people found the following review helpful
4.0 out of 5 stars Covers more ground than other books December 4, 2010
Format:Paperback
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.
Comment | 
Was this review helpful to you?
5 of 5 people found the following review helpful
5.0 out of 5 stars A great boost for Erlang and OTP February 11, 2011
By MrC
Format:Paperback
"Erlang and OTP in Action" is not a repeat of the existing introductory books on the Erlang language, although there is a brief introduction to the language in Chapter 2. This book continues where other books leave off. If you are just learning Erlang, this book is probably not the best place to start, however it is an excellent reference for more advanced topics.

"Erlang and OTP In Action" is divided into 3 major sections. Each chapter builds on the examples and concepts from the previous chapters working towards getting your server live and robust.

I. Getting Past Pure Erlang: The OTP Basics

This section helps to clarify the distinction between Erlang and OTP. There is only brief coverage of the Erlang language and syntax, as there are other resources which cover this in much greater depth. The reader is exposed to some of the many modules and functions which make up OTP.

Early in the book you are shown how to write a RPC server as well as some basics on writing unit tests for that server. While this is advanced material, the flow and delivery are easy enough to understand to someone with minimal exposure to Erlang. Process supervision, caching, distributed Erlang, and Packaging are also covered in a similar manner of clarity.

II. Building a Production System

The second section starts off by creating a local cache for a web server in order to remedy a website which has become sluggish as the system grew. This is a real-life problem and solution, not a contrived example which are present in so many other books.

The remainder of this section goes into distributed Erlang which is quite an exciting topic. Erlang takes the pain out of communicating between multiple computers (aka nodes), and there are examples show you how to quickly establish communications between many nodes. It's easy and fun with Erlang.

The previously-created caching scheme will also be part of the distributed system and is implemented using a distributed database called Mnesia.

III. Integrating and Refining

The final section shows how to interface programs written in other languages to Erlang using the foreign function interface, ports and Natively Implemented functions (NIFs).

The final chapter shows you how to profile and tune your program for optimal performance. Fortunately, Erlang comes with two tools for profiling, cprof and fprof which make it easier.

The book identifies which parts of a program to profile and show several examples using each of the profiling tools.

Conclusion

"Erlang and OTP in Action" is written very well and conveys the information clearly. The book takes the user all the way from development to deploying production-ready software. This book will be a big boost to in promoting awareness of Erlang/OTP. I recommend this book to everyone who is interested in learning how to implement distributed systems using concurrent and fault-tolerant process handling and recovery.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars A Wonderful Book On Erlang
Erlang is considered the bete noire of programming languages with it's weird syntax and radical constructs. It's roots are in Prolog. Read more
Published 16 months ago by Sardar
5.0 out of 5 stars Great book on Erlang's OTP
Great book on Erlang's OTP - this book provides good description of OTP, its design principles, etc. Read more
Published 16 months ago by Alexey Ott
1.0 out of 5 stars Very different opinion
I've spent the last several weeks learning Erlang in my spare time (and I am extremely impressed). I'm a very experienced programmer (20+years), and have 5 years of professional... Read more
Published 16 months ago by NewLibertarian
5.0 out of 5 stars MUST have for any newbie Erlang/OTP programmer
I stumbled into Erlang after evaluating several other high performance languages which were found wanting. Erlang is very impressive and OTP is powerful & useful. Read more
Published 19 months ago by David Harris
5.0 out of 5 stars Next Step
This book is your next step to understanding Erlang/OTP.

Once you have a basic understanding of the Erlang Language (see Joe Armstrong's book), this is your next step. Read more
Published 22 months ago by Barry
5.0 out of 5 stars Awesome book
I started learning Erlang withiout this book and it was a painful experience.

This book turned my previous bad experience into a big wow! Read more
Published on February 25, 2011 by devartemis
5.0 out of 5 stars The first Erlang book you should get
You may wonder why you would need this book if two other Erlang books have been published. I thought the same but this book takes a different approach in the way Erlang is... Read more
Published on February 24, 2011 by Seth
5.0 out of 5 stars This book covers new territory
There aren't that many Erlang books out there -- 3 modern ones.

* Joe Armstrong's book is a fantastic primer. Read more
Published on February 24, 2011 by armando
5.0 out of 5 stars Excellent book for Erlang newbies
A very practical approach to learning Erlang and OTP. Gently introduces functional programming and concurrency concepts. Read more
Published on February 22, 2011 by Marcin Urbański
5.0 out of 5 stars A MUST in your Erlang library
Programming Erlang: Software for a Concurrent World by Joe Armstrong and Erlang Programming by Francesco Cesarini et.al. Read more
Published on February 18, 2011 by Lloyd R. Prentice
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 





Look for Similar Items by Category