Advanced Search
Start Your Free Trial

Overview

Top Sellers in this Category

Learning the Unix Operating System, 5th Edition

Learning the Unix Operating System, 5th Edition
by Jerry Peek; Grace Todino-Gonguet; John Strang

Real World Haskell, 1st Edition

Real World Haskell, 1st Edition
by Bryan O'Sullivan; John Goerzen; Donald Bruce Stewart

Mac OS X For Unix Geeks, 4th Edition

Mac OS X For Unix Geeks, 4th Edition
by Ernest E. Rothman; Brian Jepson; Rich Rosen

This book is an in-depth introduction to Erlang, a programming language ideal for any situation where concurrency, fault tolerance, and fast response is essential. Erlang is gaining widespread adoption with the advent of multi-core processors and their new scalable approach to concurrency. With this guide you'll learn how to write complex concurrent programs in Erlang, regardless of your programming background or experience. Written by leaders of the international Erlang community -- and based on their training material -- Erlang Programming focuses on the language's syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency. This book helps you:

  • Understand the strengths of Erlang and why its designers included specific features

  • Learn the concepts behind concurrency and Erlang's way of handling it

  • Write efficient Erlang programs while keeping code neat and readable

  • Discover how Erlang fills the requirements for distributed systems

  • Add simple graphical user interfaces with little effort

  • Learn Erlang's tracing mechanisms for debugging concurrent and distributed systems

  • Use the built-in Mnesia database and other table storage features

Erlang Programming provides exercises at the end of each chapter and simple examples throughout the book.

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.5 out of 5 rating Based on 11 Ratings

Awesome read! - 2009-09-03
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Having already read the very good Erlang book by Joe Armstrong entitled "Programming Erlang: Software for a Concurrent World", I was very excited to get this new Erlang book the moment it became available.

I am fairly new to Erlang and unfortunately do not use it in my daily job (SAP technical consultant by day) so I can only give a "beginners viewpoint". Not taking anything away from Joe Armstrongs book at all...it is also superb, but from a beginners point of view I have found that "Erlang Programming" is an easier read and I'm doing more "oh, is that how it works" now ;-) I especially enjoy the little diagrams scattered around the book to help illustrate how the processes communicate etc.

The chapters I have found most useful to me are:

- Process Design Patterns (I enjoyed reading on the "Finite State Machine etc")
- Process Error Handling
- Distributed Programming in Erlang

Overall I am VERY impressed with this book and would happily recommend it to anyone like me who is trying to get up to speed with Erlang very quickly.

BTW: The 2 books combined definetly compliment each other very nicely!

Thankyou Simon and Francesco for an OUTSTANDING book!!

An excellent Erlang book - 2009-08-19
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book is a well-written and comprehensive introduction to the Erlang programming language, which is very well-suited for distributed systems which need to be scalable and robust (and concurrent programming in general). Erlang is used by Ericsson (where it originates), Motorola, Amazon, IMDB, Facebook, etc.

Each chapter is followed by useful exercises. Since calvinmme's review already lists all chapters, I'll simply mention what this book covers that Programming Erlang: Software for a Concurrent World doesn't:

1. Unit testing with EUnit.
2. Types. (Armstrong's book includes them in a short appendix, and doesn't tell you how to actually work with EDoc or Dyalyzer. Imagine a Java introduction book which doesn't cover Javadoc!)
3. GUI programming with wxErlang.
4. Interfacing not only with C programs, but Java, Ruby, and Unix shells as well. Linked-in drivers are not covered, which I consider a good thing: they are only needed by Erlang and C specialists.
5. Debugging and tracing (again relegated to an appendix by Armstrong).

If you prefer ebooks, as I do, note that this book is available from O'Reilly without DRM.

Amazing - 2009-07-31
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This is an incredibly amazing book. The language is clear and concise, but not to the point of obscurity. The book does a marvellous job of describing not only the "beginner" aspects of the language, but also more advanced topics, such as behaviours and interfacing with other languages.

One of the greatest parts this book has to offer is an entire chapter devoted to debugging and tracing.

All in all, the book offers a wealth of information to both beginners and more experienced developers.

Not for beginners - 2009-11-05
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This is a decent enough text for programmers who already have some experience with Erlang. However, it is NOT suitable as an introduction to the language, as it quickly bogs down in a wealth of detail, losing sight of the "big picture" almost immediately. Armstrong's book is far superior as an introduction.

The authors miss an opportunity to compare Erlang solutions with those provided by other languages. Is Java REALLY such a bad choice for concurrent programing, and if so, why?

The impression obtained after reading this book is that Erlang can only really shine at a rather restricted set of problems - and specifically, telecom programming. Well, it was designed for that! No real effort is made to convince us that it has wider applicability. It is still very much a niche language, and will remain so until someone produces a more comprehensive suite of examples of its powers.

must-have for learning erlang; i have 2 caveats tho - 2009-11-22
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
As of Nov 09, this is in the same space as "Real World Haskell" and the Holloway Clojure books, that if you try to learn the languages without them, you'll be handicapping yourself. There's material in Cesarini/Thompson's book that's not presented elsewhere in the same depth. Armstrong's book is a more thorough (gentler/readable) introduction to the language and standard library, but, as noted elsewhere, the language is a fairly small and quick to learn one, the difficulty lies in understanding the use cases and inherent limitations, and learning the development / testing / net admin / benchmarking / tracing / build environment.

This is a dense book, presenting more topics than Armstrong's book and the exercises are not easy. The authors have done a superb job of choosing topics and allocating precious space to each. I've re-read the chapters on testing, OTP, mnesia and ETS/DETS multiple times, and plan to do same on tracing, ports, hot modules upgrades, etc. The one chapter that is maybe skippable is the WX one, but Wxerlang has presented a fair number of install problems recently, especially for OSX, so maybe not .

A large number of erlang/OTP features have been rolled out, and many 3rd party modules and testing /dev tools since early 2007, when Armstrong finished writing his book (Pragmatic has issued a large number of updates to PDF-format subscribers). I believe that if you can, you should read Armstrong's book first, then this and the Manning books, digest them slowly, write lots of code , make syntax errors, stack overflows, out of memory, race conditions, etc. You need to make lots of mistakes, just like learning java or python, but you also need to spend more time upfront internalizing the grammar, I believe, than you would with java or python, unless you're FP-experienced (you should probably also learn emacs' erlang mode).

The caveats: there are a fair number of typo's and the language used by the authors is sometimes too informal. Typo's: there's a errata page on the Oreilly website , look for yourself. The language issue is, to make the tone of the explanations not so dry, they've gone a little too far towards colloquial wording and lost precision. Some examples of this, again in the Oreilly errata page.

As an aside, I've been reading the October draft of Merritt/ Logan/Carlsson's OTP book from Manning. I would say that book will be indispensable when all chapters are written and gone through copy-editing, but the information in the current draft is quite valuable today to intermediate erlang devs.

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2010 Safari Books Online. All rights reserved.