Programming Erlang: Software for a Concurrent World

  Author:    Joe Armstrong
  ISBN:    193435600X
  Sales Rank:    13989
  Published:    2007-07-15
  Publisher:    Pragmatic Bookshelf
  # Pages:    550
  Binding:    Paperback
  Avg. Rating:    5.0 based on 24 reviews
  Used Offers:    9 from $21.18
  Amazon Price:    $22.17
  (Data above last updated:  2008-08-29 08:01:35 EST)
  
  
Sort customer reviews by:
  
Show All Reviews on Page      Hide All Reviews on Page
   
  
Programming Erlang: Software for a Concurrent World
  
Erlang solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems. It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.

Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.

Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.

Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.

Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.

This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.

It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:

  • A SHOUTcast server which you can use to stream music to every computer in your house, and
  • a full-text indexing and search engine that can index gigabytes of data.

    Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.

  •                   Reader Reviews 1 - 25 of 25                 
      
      
    Review
    Date
    Review
    Rating(5 High)
    Review
    Helpful
    to:
    Customer Review Reviewer
    Info
    Permanent
    Link
    Reader Reviews Below Sorted by Newest First
    08-05-08 3 0\1
    (Hide Review...)  Good book technically; a bit confusing organizationally.
    Reviewer Permalink
    Overall, I liked this book. When I read this, I was looking at doing some Erlang work; I didn't end up using Erlang, but the book was still enjoyable, and gave me a good overview of the language.

    Some things were a bit odd: the organization was not clear, and the order of chapters was confusing. The authors choice of material was seemed unusual to me: he covered a streaming MP3 server, and mentions ID3 tags; he does not, however, describe what they are or describe in detail how his code processes them. Still, the important details of Erlang itself are covered, and perhaps that's the most important part.

    Take it easy,

    Dave
    (Review Data Last Updated: 2008-08-26 08:05:56 EST)
    06-22-08 5 (NA)
    (Hide Review...)  Very easy to digest
    Reviewer Permalink
    I made an attempt at working through this book 6 months ago and didn't feel quite comfortable so I dropped it and instead pursued Programming in Haskell. Yesterday I decided to get back into Erlang and found it a complete breeze, powering through the entire book in a few hours.

    A lot of things seem to become really easy after working with Haskell, not to say that programming in Haskell is hard, just it twists and bends your mind into a different shape.

    Now that I'm abreast of the material covered in this book, I am leaping into a large project with great confidence.

    5/5, excellent book!
    (Review Data Last Updated: 2008-08-06 07:53:37 EST)
    03-05-08 3 5\5
    (Hide Review...)  Necessary book, but needs a 2nd edition
    Reviewer Permalink
    I've been working through this book and am very glad for it. I'm not sure how else I'd efficiently have gotten up to speed on Erlang.

    The book does need lots of minor work, though - it still feels like a beta piece of software. There are examples / explanations that make use of not-yet (or never) explained functions/modules. The appendix describing some of Erlang's modules only claims that the set of documented modules is incomplete, but doesn't mention that the set of functions within some modules is also incomplete. Etc.

    Another issue is the license of the code examples. The author shows some example code for how to do certain things, such as a distributed map function (pmap). After reading the book, it's hard (at least for a newbie) to imagine a different solution than the author's. But if you go to the website containing the example code from the book, you find a pretty restrictive license on the example code. So this leaves the reader in a difficult position: the book only shows you one way to do something like pmap, and the author has a license on that code that makes it unusable to many readers. This is more than a little frustrating.

    Finally, the index is very incomplete.

    If you're new to Erlang you still want this book. But it would really be a good thing for the author to gather criticism (if he hasn't already) and go a second round.
    (Review Data Last Updated: 2008-06-22 04:29:22 EST)
    03-05-08 3 (NA)
    (Hide Review...)  Necessary book, but needs a 2nd edition
    Reviewer Permalink
    I've been working through this book and am very glad for it. I'm not sure how else I'd efficiently have gotten up to speed on Erlang.

    The book does need lots of minor work, though - it still feels like a beta piece of software. There are example / explanations that make use of not-yet (or never) explained functions/modules. The appendix describing some of Erlang's modules only claims that the set of documented modules is incomplete, but doesn't mention that the set of functions within some modules is also incomplete. Etc.

    Don't get me wrong - if you're new to Erlang you still want this book. But it would really be a good think for the author to gather criticism (if he hasn't already) and go a second round.
    (Review Data Last Updated: 2008-03-09 12:57:28 EST)
    02-06-08 5 (NA)
    (Hide Review...)  An excellent book
    Reviewer Permalink
    This book was recommended by a colleague and I was hesitant at first, but it really is an excellent read.

    After flipping through the first few chapters, taking in the examples and absorbing what it was spelling out, it really altered the way that I fundamentally look at software modeling. Joe Armstrong's style of teaching by example and breaking things down into the smallest possible space makes this book worthwhile.
    (Review Data Last Updated: 2008-03-06 07:48:07 EST)
    01-30-08 4 (NA)
    (Hide Review...)  Are you already familiar with functional programming?
    Reviewer Permalink
    Erlang really appears to be an interesting language, and the author's enthusiasm for the subject shows - which is good. It helped me to keep going, when at times the code was a little hard to follow.

    The book does a good job of introducing the language. In particular later chapters give emphasis to the topics of concurrency through multiple processes, multi-cores and distributed programs. All very timely subjects for a world that is connected to the Internet, and where even laptops have multi-core processors

    I gave the book a 4 star rating because I feel the author somewhat forgot who his audience is.

    On page 5 he starts out with a description that fit me almost perfectly, and probably many other readers: "Once upon a time a programmer came across a book describing a funny programming language. It had an unfamiliar syntax [...] it wasn't even object-oriented. The programs were, well, different....Not only were the programs different, but the whole approach to programming was different."

    After reading the book I don't feel like the "Erlang Master" that the road map described (pg 9). While the syntax is now familiar, I still look at the Erlang code and it feels foreign. I still have to "decipher" the code instead of read it.

    I would have liked the book to more fully address the items from the "Once upon a time" paragraphs. Being that "the whole approach to programming" is different than the OO that many readers are used to, I would have liked to have seen a chapter (or three) on how to best get into that mode of thinking.

    I do think the book is a good jumping off point. It gives you more than enough to get started.

    However, if you are unfamiliar with languages where functions accept functions which also accept functions as parameters and return another function as a result, you may end up feeling (as I did) that you only have half the puzzle.
    (Review Data Last Updated: 2008-02-06 07:41:49 EST)
    01-24-08 4 0\1
    (Hide Review...)  Very interesting topic for leading edge types
    Reviewer Permalink
    I got interested in learning more about Erlang when I discovered that some of the Amazon web services use it underneath (SimpleDB). And I consider these services to be very well designed.

    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!
    (Review Data Last Updated: 2008-01-31 07:40:25 EST)
    01-21-08 5 (NA)
    (Hide Review...)  A Practical and Philosophical Introduction to Erlang
    Reviewer Permalink
    "Programming Erlang" numbers among the classic programming books which not only show you how to program in a language but also teach why you would want to do so. Joe Armstrong communicates the philosophy behind Erlang, which excels at building concurrent, distributed, and fault-tolerant software. He writes with a light touch, which makes learning Erlang's somewhat unusual syntax more enjoyable.

    The first few chapters provide an introduction to "sequential programming" in Erlang. Armstrong covers basic language features, simultaneously providing an introduction to functional programming concepts. He shows how to use functional ideas like pattern matching, higher-order functions, and tail recursion to write powerful and compact Erlang modules.

    Armstrong then dedicates several chapters to "concurrent programming." Here is where Erlang really comes into its own. He demonstrates how easy it is to create parallel processes, which can also be made to communicate between networked machines or across the Internet. The trick is that these processes do not communicate through shared memory, but by passing messages asynchronously. These chapters also discuss error handling, showing basic patterns for monitoring processes and for guaranteeing that processes are kept-alive.

    The final chapters deal with a range of subjects, including socket programming and how to optimize Erlang for use on multicore processors. The book also includes the code for building an IRC-like chat server, a SHOUTcast server, and a text-indexing engine which implements the MapReduce algorithm.

    My goal in reading the book was not so much to start programming in Erlang, but to expand my understanding of functional programming. I came away with a good grasp of what Armstrong calls "concurrency-oriented programming" and why this style of programming is likely to expand in the coming years. While I may not be using Erlang in any projects in the near future, I recommend "Reading Erlang" to anyone who enjoys thinking 'outside the [imperative programming] box.'
    (Review Data Last Updated: 2008-01-24 08:21:39 EST)
    01-10-08 5 (NA)
    (Hide Review...)  Erlang is going to be the future for performance computing...
    Reviewer Permalink
    Erlang is the language to use for developing concurrent or distributive systems. I first used Erlang when I worked for Ericsson in 1997 programming Telecom switch control systems. We developed an elegant monitoring and control system that managed thousands of switches across the world, and is still in use today offering "Nine-Nines" of reliability. Ten years on and Erlang would still be the best choice - stackless python being the other - and in these passing ten years Erlang has really matured.

    Now if you like books and would like to learn more about Erlang I recommend this book. Its author, Joe Armstrong, one of the fathers of Erlang, has a clean and elegant style that makes reading his book a pleasure, and although I'm an old hand I learned a lot from his book. So briefly here are the books Pros and Cons:

    The Pros:
    * Written by a real expert.
    * Great introduction to Erlang
    * Up to date with the language
    * Full of great examples, such as the quick sort in Chapter 3, or showing how to implement "Google's" Map/Reduce in a few lines, or building pipes in Chapter 12.

    The Cons:
    * I would have liked more on philosophy and design. Erlang is different and you just can't come from the OO world of C++ or Java and program in Erlang. You have to change the way you think. It would be great if Armstrong gave us some help here, just as Stroustrup gave us in Part IV of his second edition.
    * I would also liked a whole section on OPT or the authors equivalent framework.
    * Also More on distribution and robust development.

    Otherwise the book is great and with the very good material you can find on the web at the Erlang site or trapexit.org you should be set to make your millions writing a distributed financial analytical engine for all those very rich and greedy banks!
    (Review Data Last Updated: 2008-01-21 08:12:12 EST)
    12-31-07 5 1\2
    (Hide Review...)  Programming for concurrency the easy way
    Reviewer Permalink
    I am not a programmer, but a middle aged journalist. I did serious programming back in the 80'ies, though. And for a while then I thought programming was going to be my future.
    Back then I taught myself several dialects of BASIC, some Pascal, a little C - whatever compilers I managed to lay my hands on without getting poor. I ended up with Prolog. The books about Prolog were easy to read, but the actual programming gave me problems.
    Then I got wife and kids, and the necessary time to dig deeper in Prolog vanished in the blessings of family life.
    Now is another time - a time where the victorious sequential programming is looking at the end of its reign.
    In a few years everybody will have multiple processors in their private computers. Even toys for children will get it.
    Robust networking is going to be essential - and so is concurrent and distributed programming.
    The demands on the programmers will be devastating... unless new methods comes up. And they have.
    I stumbled over Joe Armstrongs book "Programming Erlang" by coincidence. But I have not been able to leave it on the shelve for many hours ever since.
    Concurrent and distributed programming is almost too easy using this language. The book is easily read, and the practical programming is no obstacle as Prolog was. This worked from day three.
    It feels like skipping a generation of hard earned programming experience.
    The kids no longer take my time and a world of selfish fun lies ahead. No old computer is going to be trashed from now on in this family. They are all going to be nodes in my private, distributed webserver/shoutcast-server system with hot code changes as the system advances.
    Forget job opportunities - at my age - this is for fun.
    (Review Data Last Updated: 2008-01-11 08:24:13 EST)
    12-28-07 5 (NA)
    (Hide Review...)  An enjoyable and inspiring read
    Reviewer Permalink
    A fun introduction to functional programming and great addition to the Pragmatic Proramming series - it makes you really stop and think about different ways to solve problems.
    (Review Data Last Updated: 2007-12-31 08:05:19 EST)
    12-09-07 5 (NA)
    (Hide Review...)  A really magnificent piece of art
    Reviewer Permalink
    Among all the functional languages I'm currently learning (LISP, Haskell, OCaml, F#, ...) Erlang is the most simple and beautiful one. It's amazing what you can do with it, how simple your constructs can become, how clear are your programs and your algorithms. This book is a wonderful presentation of the language. Sequential programming (without side effects), concurrent programming, distributed programming... it's all here, described in an intelligent and very pragmatic fation. A really magnificent piece of art.
    (Review Data Last Updated: 2007-12-29 08:06:24 EST)
    11-11-07 5 2\2
    (Hide Review...)  The world is parallel (and twisted)
    Reviewer Permalink
    I read this book to see whether I like Erlang or not.

    I don't think I will have a real Erlang project in near future, but I wanted to see what the buzz is about. At the moment the book appears one of the few scarce printed Erlang resources around and it should have better been attracting curious people like myself.

    And the book did its job - I liked Erlang.

    To a point that I actually installed the language, Ecliplse IDE plugin for it and tried to throw together a program or two. Neat stuff, you have to pull your hair out to understand how to get a simplest thing done. Not because the language is complex, but because the common programming habits are opposite to Erlang's approach:

    [quote]
    The programming world went one way (toward shared state). The Erlang community went the other way [... toward message passing].
    [/quote]

    But solving such puzzles will give you a different perspective and certainly will make you a better programmer.

    The book is a good introduction, that's all. It shows you the language clearly and consistently. As a joke, the book presents not little and not much information, but "lagom" information:

    [quote]
    Erlang comes from Sweden, where the expression "lagom är bäst" (loosely translated as "just enough is best") is often said to summarize the national character.
    [/quote]

    The book starts with simple things like variables and syntax, then proceeds to sequential programming primitives such as functions, touches exceptions and goes on to parallel programming with processes and message passing. Finally it proceeds to the application development framework called OTP (Open Telecom Platform) - the standard in Erlang world as it would seem.

    Therefore, upon reading this book you will know the language and how to build distributed applications with it.

    I have to admit, I skipped samples that were more than a page long, but luckily those were next to none. Small and clear samples, a few lines long, just to get the idea - that's what I like in introductory books - and those are plenty.

    One other good characteristic of the book is that the author not only shows what facilities the language has to offer, but also why you need them. For instance with OTP explanation - it approaches the OTP principle in few steps - first start the server, what may you be needing now, add it, then you will be needing this, add it as well, and then - voila - what you get is OTP !

    The book and the language will give you a different perspective on building distributed applications, whether it be Erlang, OTP or not.

    Like I said - I liked Erlang upon reading this book.
    (Review Data Last Updated: 2007-12-09 08:05:00 EST)
    10-15-07 5 (NA)
    (Hide Review...)  A reading delight
    Reviewer Permalink
    Erlang was a rather obscure language till 2007 and i dare say it gain popularity via Joe's clear and interesting presentation via his book.

    The author was clear in the presentation of the main ideas w.r.t. concurrency and how Erlang aids the developer in programming in this new paradigm. Joe has also included many real world applications and how Erlang implements it easily which has drawn me to it exceedingly e.g. hot swapping of code, error handling idioms, etc

    In a nutshell: An excellent effort!
    (Review Data Last Updated: 2007-11-12 08:00:05 EST)
    09-14-07 5 1\1
    (Hide Review...)  Very clear, well suited for an experienced programmer who really wants to grok a new language
    Reviewer Permalink
    I have found this book to be a very good resource. I have been programming for fun since I was a kid, and for a living for the last eleven years. Over time I have picked up a decent number of programming languages, but most of my experience is in C, Java, PHP, and Scheme, with little bits of Ruby, Perl, and assembly language for various platforms.

    I found that this book really gets to the meat of things, but does so with clear and well thought out examples such that you can jump up and play with the code immediately, but there is also a decent amount of background information presented so it is not only explained HOW to do something, but WHY, and there are very often multiple variations offered to illustrate the subtle features (and in Erlang, these are usually the most powerful).

    There are several places towards the beginning of the book where the author explains a new construct, and then writes the same construct in C, Java, Ruby, or Scheme to help orient people coming in with previous programming knowledge get their bearings.

    The other nice thing about this text is that the author is fairly platform agnostic (as Erlang itself is very portable), setup instructions for the Erlang environment cover Linux, Windows, and instructions for building Erlang from source so that users of other platforms can do so if no binary distribution is available.

    All in all, I would highly recommend this text to anybody who has some previous programming experience and who wishes to expand their own programming horizons. While Erlang is sort of a niche language at the moment, even learning the mechanics of how data are handled and the general distributed programming model employed will inform and enlighten systems designed in any language, as well as add another useful language and additional design patters to your mental toolbox.
    (Review Data Last Updated: 2007-10-15 08:20:01 EST)
    09-03-07 5 1\1
    (Hide Review...)  could be a tough programming paradigm, or a very natural one
    Reviewer Permalink
    Functional programming (Erlang, haskell, OCAML, mainly) has returned to devs' mindshare, look at lambda-the-ultimate, artima, reddit. It's produced a lot of blogs, online tutorials, but if you want a current book that's a complete overview, carefully written and vetted? Pretty slim pickings.

    This book is an offshoot (or inspired by, or something) of Armstrong's PhD thesis. It is (or was) a pragmatic beta product, reviewed by 100's of developers, and this shows in exposition of data structures and algorithms. It's as good as intro dev texts get. The intro bits, like where the math teacher says "all X's mean the same thing" are kind of helpful but after that there's not a lot of handholding of the type of "how to do __ in java and erlang, side by side" (except the Exceptions chapter), or "Here's my definition of functional programming". There's lots of things similar to the ruby or python or smalltalk dev environment, some counter-intuitive things as well(no short-circuits of boolean expressions) but this book's an exposition of Erlang features, common tasks, and best practices. I liken this to the best software books, the ruby Pickax, Python in a Nutshell, SICP, it's rigorous and intellectually and viscerally satisfying ;-)

    If you know prolog or lisp, or read the arguments about DSLs /metaprogramming that java and smalltalk/python/ruby/javascript devs are wont to have, you may say it fits your brain. Others have noted that the syntax is a complete rework of how they approach programming, that backtracking/pattern matching and constraint satisfaction is nothing like programming the algol-family. But i think all devs have to understand how regular expression engines work, so you can draw parallels there.

    (extremely) minor drawbacks of the book: preachy tone of superiority of COP (concurrency-oriented programm'g), fault-tolerance, many processes, etc. Some of the typesetting (code bits in footnotes and against grey background) is hard to read. Division of the book into chapters is kinda odd (there's a couple 2-page chapters)
    (Review Data Last Updated: 2007-09-14 06:14:30 EST)
    08-23-07 4 1\2
    (Hide Review...)  Very good introduction to Erlang
    Reviewer Permalink
    I'm impressed with this book. Being a programmer for several years I hadn't looked at Erlang too closely until this book came along. Its a good introduction to the language and how you can go about using it. All the basics and several advanced topics are here. I'm amazed how easy Erlang handles stuff like sockets and how well it scales. Its a different way to look at programming tasks and this book is the best first step out there.
    (Review Data Last Updated: 2007-09-04 08:01:54 EST)
    08-23-07 5 0\2
    (Hide Review...)  Excellent into into Erlang
    Reviewer Permalink
    Really easy read, I found it very simple to get into coding Erlang. The book went into quite a bit of detail, it even shows you have to write multiprocessor chat servers. I'm thinking about using Erlang for an MMORPG. Great Book!
    (Review Data Last Updated: 2007-09-04 08:01:54 EST)
    08-14-07 5 2\2
    (Hide Review...)  Masterfully Done!
    Reviewer Permalink
    Programming Erlang is a must-read for anyone interested in learning how to use the unique and powerful Erlang language to create distributed, fault-tolerant, and concurrent systems. Author Joe Armstrong masterfully explains all that is needed to get up to speed. Numerous bite-sized examples are sprinkled throughout the book. There are also three larger examples that show how a more sizable program might be written. These are a SHOUTcast server, an IRC-like chat system, and a full-text indexing and search engine.

    The basic language features are thoroughly explained including everything that a new user might struggle with (e.g. pattern matching, non-destructive assignment, the syntax, using the erlang shell, etc). The normally difficult topics of concurrency, distributed programming, and fault-tolerance are shown to not be so difficult given the right tools and language for the job. The tools include the impressive OTP libraries and the Mnesia database system. Both of these are covered with enough detail to get you up and running with pointers to appropriate manual pages to help you when you progress beyond that.

    The entire book is written in a very pragmatic style that gives you just enough information to get up and running without weighing you down with a bunch of extraneous material. The writing reads very easily. I often felt as if the author was speaking directly to me.

    Multi-core processors are becoming increasingly common. Programs have to be written with concurrency in mind in order to run faster on these newer processors. Programming Erlang shows how easy this can be with a programming language that was designed from the ground up to solve the very problems multiple cores introduce. Even if you don't plan on using Erlang on a daily basis you may very well benefit from an alternative view of the concurrent programming universe. I know I have.
    (Review Data Last Updated: 2007-08-24 07:49:15 EST)
    08-09-07 3 1\2
    (Hide Review...)  Good, But Not Great
    Reviewer Permalink
    There aren't a lot of Erlang books out there, so if you want to learn Erlang, you need this book.

    However, I found the writing style a bit preachy. The organization of the book needs work, as the author is constantly referring to topics he hasn't covered yet. I also found that the index needs a lot of work, as it's missing quite a few topics that I know are in the book. The API reference also is missing some functions, which I thought was odd.

    This book does a good job in promoting Erlang's ability to do concurrency well. I was hoping to get more functional programming style and mind set from the book, though.

    All in all a good book to have if you want Erlang, but you'll need more if you want to really dive into functional programming or if you want a complete Erlang reference.
    (Review Data Last Updated: 2007-08-14 08:40:04 EST)
    08-02-07 5 2\4
    (Hide Review...)  The most important programming language book this decade
    Reviewer Permalink
    Erlang is a language that has lived in relative obscurity for many years. However, a combination of several factors is set to launch Erlang into the ranks of the most popular languages.

    First, is the emergence of multi-core processing. Erlang is the only language I know that will scale to these platforms without any need to master the complexities of concurrent programming.

    Second, is the acceptance of dynamic languages in the current developer zeitgeist. Interestingly, Ruby (a language that could not be less like Erlang) probably did more toward opening the doors to interest in Erlang than any other language.

    Third, is the increasing acceptance of functional programming as an abstraction mechanism. More and more developers are appreciating that a functional decomposition of a complex problem can go as far (or even farther) than a object-oriented one in taming complexity.

    Fourth, Erlang is nearly complete right out of the box. It has a mature set of libraries for modern distributed development and programming in the large. Given its increasing visibility I fully expect the open source community to fill any gaps in its application stack.

    Buy this book and join the revolution.
    (Review Data Last Updated: 2007-08-09 07:59:02 EST)
    07-31-07 5 0\1
    (Hide Review...)  Excellent book with real-world examples
    Reviewer Permalink
    Rarely do you find a book that shows you how to program a SHOUTCAST server or a fast indexing and search engine. "Programming Erlang" gives all that - and more. A must have
    (Review Data Last Updated: 2007-08-03 10:10:10 EST)
    07-25-07 5 (NA)
    (Hide Review...)  Excellent explanation of excellent language
    Reviewer Permalink
    I've been excited about cracking into Erlang since I first understood what it was. I got the PDF of this book from Pragmatic Programmers in the pre-release beta and made it about 2/3 of the way through in my limited time. It's great having the actual book for those train rides into work. I'm almost finished with the book now and I've found it not only fascinating and mind-expanding in the best way, but also very readable and technically challenging (a difficult combination of charactertistics).
    (Review Data Last Updated: 2007-08-01 08:02:38 EST)
    07-20-07 5 3\4
    (Hide Review...)  I bought the beta pdf...
    Reviewer Permalink
    ...because I was impatient, and now I'm buying the hard copy because it's more convenient for most uses.

    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.

    (Review Data Last Updated: 2007-07-26 07:58:14 EST)
    07-20-07 5 5\5
    (Hide Review...)  A programmer's library must-have
    Reviewer Permalink
    The computer language Erlang is mature and impressive, with primitives for concurrent, fault-tolerant, and distributed programming that make it a natural for internet applications. So why isn't Erlang more popular in America? The lack of recent accessible introductions in English is probably one reason.

    This book fills that void. If you've been wondering what Erlang is about, you need to get this book. It's very readable and does not require any prior experience with functional languages to make headway. It's packed with examples and the book encourages experimenting with them; in fact the first chapter explains how to get an installation of Erlang.

    My one complaint is that some areas are omitted or only lightly treated, for instance mnesia and parse transformations. However there is extensive documentation on the internet available for these and other advanced Erlang features. This book will get you to journeyman level and allow you to leverage those online resources.

    Even if you never plan to use Erlang, you should read this book, since Joe Armstrong's wisdom on how to build fault-tolerant software is sprinkled throughout (of course, why implement half of Erlang in a bug-ridden fashion in some other language, when you can get the real thing).
    (Review Data Last Updated: 2007-07-26 07:58:14 EST)
      
                      Reader Reviews 1 - 25 of 25                 
      
      
      
      
      
      

    Because the data used to generate this site come from outside sources, VeryWellSaid.com cannot guarantee the completeness or accuracy of the data.
    Search VeryWellSaid™
    Google
    Web VeryWellSaid™
    New subjects are added every week.
    View Subjects Below by:
    * Top Selling
     (click category name, left)
    * Top-Rated Top Sellers
     (click 'Top Rated', right)
    In the news...  
    Dubai\UAE Top Rated
    Influenza\Bird Flu Top Rated
    Iraq Top Rated
    Supreme Court Top Rated
    All Books Top Rated
    Arts Top Rated
    Photography Top Rated
    Digital Photography Top Rated
    Digital Cameras Top Rated
    Biography Top Rated
    Business Top Rated
    Management Top Rated
    Marketing Top Rated
    Sales Top Rated
    Stocks Top Rated
    Bonds Top Rated
    Real Estate Top Rated
    Trading Top Rated
    Commodities Trading Top Rated
    Time Management Top Rated
    Starting A Business Top Rated
    Children's Top Rated
    Comics Top Rated
    Computers Top Rated
    PC Top Rated
    Mac Top Rated
    Programming Top Rated
    Design Patterns Top Rated
    .Net Top Rated
    C# Top Rated
    Vb.Net Top Rated
    Asp.Net Top Rated
    Java Top Rated
    Python Top Rated
    PHP Top Rated
    Perl Top Rated
    Javascript Top Rated
    Ajax Top Rated
    CSS Top Rated
    Open Source Top Rated
    SQL Top Rated
    Databases Top Rated
    Oracle Top Rated
    MySql Top Rated
    Sql Server Top Rated
    IIS Top Rated
    Apache Top Rated
    Linux Top Rated
    Windows Server Top Rated
    Project Management Top Rated
    HTML Top Rated
    UML Top Rated
    IT Certifications Top Rated
    Cisco Certifications Top Rated
    MCSE Top Rated
    MCSD Top Rated
    Cooking Top Rated
    Italian Cooking Top Rated
    Vegetarian Cooking Top Rated
    Wine Top Rated
    Engineering Top Rated
    Entertainment Top Rated
    Health Top Rated
    Nutrition Top Rated
    Dieting Top Rated
    Sex Top Rated
    History Top Rated
    Military History Top Rated
    British History Top Rated
    Middle East History Top Rated
    Land Battles Top Rated
    Naval Warfare Top Rated
    Air Warfare Top Rated
    9/11 Top Rated
    Terrorism Top Rated
    Home Top Rated
    Mortgage\Home Equity Loan Top Rated
    Cars Top Rated
    Car Buying Top Rated
    Sports Cars Top Rated
    Cat Top Rated
    Humor Top Rated
    Horror Top Rated
    Law Top Rated
    IP Law Top Rated
    Legal History Top Rated
    Fiction Top Rated
    Oprah's Book Club Top Rated
    Medicine Top Rated
    Cancer Top Rated
    Stroke Top Rated
    Heart Disease Top Rated
    Fertility Top Rated
    Diabetes Top Rated
    Pharmacology Top Rated
    Back Problems Top Rated
    Menopause Top Rated
    Thyroid Top Rated
    Pain Top Rated
    Organic Chemistry Top Rated
    Immune System Top Rated
    Mystery Top Rated
    Nonfiction Top Rated
    Outdoors Top Rated
    Running Top Rated
    Radio Control Models Top Rated
    Guns Top Rated
    Parenting Top Rated
    Divorce Top Rated
    Professional Top Rated
    Reference Top Rated
    Religion Top Rated
    Romance Top Rated
    Science Top Rated
    Physics Top Rated
    Chemistry Top Rated
    Astronomy Top Rated
    Psychology Top Rated
    Science Fiction Top Rated
    Sports Top Rated
    Teens Top Rated
    Travel Top Rated
    USA Top Rated
    Europe Top Rated
    France Top Rated
    Italy Top Rated
    England Top Rated
    China Top Rated
    All Books Arts Biography Click Here For An A-Z Index Of All 213 Best-Seller Subjects Business Children's Comics
    Computers Cooking Engineering Entertainment Health History Home Horror Humor Law Fiction Medicine Mystery
    Nonfiction Outdoors Parenting Professional Reference Religion Romance Science Sci-Fi Sports Teens Travel
    In Association with Amazon.com

    Cache miss
    (not cached)