Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player

FREE Shipping on orders over $35.

Used - Good | See details
Sold by Murfbooks.
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.

Programming Erlang: Software for a Concurrent World [Paperback]

by Joe Armstrong
4.3 out of 5 stars  See all reviews (35 customer reviews)

Available from these sellers.

Free Two-Day Shipping for College Students with Amazon Student

Shop the new
New! Introducing the, 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
There is a newer edition of this item:
Programming Erlang: Software for a Concurrent World (Pragmatic Programmers) Programming Erlang: Software for a Concurrent World (Pragmatic Programmers) 5.0 out of 5 stars (3)
In Stock.

Book Description

July 18, 2007 193435600X 978-1934356005 1

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.

  • Product Details

    • Paperback: 536 pages
    • Publisher: Pragmatic Bookshelf; 1 edition (July 18, 2007)
    • Language: English
    • ISBN-10: 193435600X
    • ISBN-13: 978-1934356005
    • Product Dimensions: 8.9 x 7.6 x 1 inches
    • Shipping Weight: 1.8 pounds
    • Average Customer Review: 4.3 out of 5 stars  See all reviews (35 customer reviews)
    • Amazon Best Sellers Rank: #648,991 in Books (See Top 100 in Books)

    More About the Author

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

    Customer Reviews

    Most Helpful Customer Reviews
    49 of 54 people found the following review helpful
    3.0 out of 5 stars Good, But Not Great August 8, 2007
    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.
    Was this review helpful to you?
    43 of 48 people found the following review helpful
    5.0 out of 5 stars A programmer's library must-have July 19, 2007
    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).
    Comment | 
    Was this review helpful to you?
    30 of 33 people found the following review helpful
    4.0 out of 5 stars Are you already familiar with functional programming? January 30, 2008
    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.
    Comment | 
    Was this review helpful to you?
    15 of 16 people found the following review helpful
    3.0 out of 5 stars Necessary book, but needs a 2nd edition March 5, 2008
    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.
    Comment | 
    Was this review helpful to you?
    Most Recent Customer Reviews
    2.0 out of 5 stars good topic, terrible writing :(
    I bought it as one of my course books. The language itself has some pretty cool things that makes distributed programming easy. The book, however, is quite poorly written. Read more
    Published on August 26, 2009 by Amazon Customer
    4.0 out of 5 stars A good introduction to Erlang
    I am currently in the process of learning Erlang for a personal project. These books both measures up to the high expectations I have come to expect from Pragmatic Programmers... Read more
    Published on July 20, 2009 by Mark Atwood
    1.0 out of 5 stars not a good book writer
    yes, the author invented the language and there is few choice of erlang books.

    but I do not believe Joe is a good book writer, it does not cover anything deep enough as... Read more
    Published on June 22, 2009 by yawl
    4.0 out of 5 stars Good enough
    As of 2009 there are not many alternatives to learn the powerful programming language Erlang and the OTP (Open Telecom Platform). Read more
    Published on June 1, 2009 by Emre Sevinc
    5.0 out of 5 stars Functional introduction
    To most of us, functional programming is either an academic pursuit, or a fun university pastime. However, with the trends towards multi-core and distributed computing, this... Read more
    Published on March 28, 2009 by Amazon Customer
    2.0 out of 5 stars Poor organization and hazy presentation
    Programming Erlang is a better book for people that already know Erlang than it is for people that do not know Erlang. One of the book's major problems is a lack of organization. Read more
    Published on March 1, 2009 by kitico
    5.0 out of 5 stars Best kept secret
    My first encounter with the Functional Programming was Lisp. Too bad it wasn't very practical. It stirred my appetite though. Read more
    Published on February 15, 2009 by Vesselin Kavalov
    3.0 out of 5 stars Mediocre; Erlangers should expect more
    In my opinion, Programming Erlang has been bought and used primarily because it is first book on Erlang, not because it will stand the test of time. Read more
    Published on January 2, 2009 by David James
    3.0 out of 5 stars It's OK, but there is a better alternative
    UPDATE, November 2009 : (My initial review from November 2008 is below).

    Since I wrote my review in 2008 the Cesarini and Thompson book has been published, and I... Read more
    Published on November 6, 2008 by T. Lewis
    5.0 out of 5 stars Great overview on Erlang and OTP
    With a very amenable writing, Joe Armstrong presents a clear overview on the Erlang Language and basics of the OTP. Read more
    Published on September 25, 2008 by Rafael G. C. Pinto
    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


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

    Look for Similar Items by Category