Product Details
Programming Erlang: Software for a Concurrent World

Programming Erlang: Software for a Concurrent World
By Joe Armstrong

List Price: $36.95
Price: $24.39 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

49 new or used available from $13.46

Average customer review:

Product Description

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 SHOUTcastserver 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

  • Amazon Sales Rank: #128454 in Books
  • Published on: 2007-07-01
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 536 pages

Features


Editorial Reviews

About the Author
In his search to find better ways to implement fault-tolereant applications, Joe Armstrong designed and implemented the first version of Erlang in 1986. He wrote the first Erlang book and held the first Erlang course-he has worked with Erlang from the very beginning. He has taught Erlang to hundreds of programmers and held countless lectures and keynotes describing the technology.

Joe has a PhD in computer science from the Royal Institute of Technology in Stockholm, Sweden and is an expert in the construction of fault tolerant systems.

Joe was the chief software architect of the project which produced the Erlang OTP system. He has worked as an entrepreneur in one of the first Erlang startups (Bluetail) and has worked for 30 years in industry and research. Joe currently works for Ericsson AB where Erlang is used to build highly-fault tolerant switching systems.


Customer Reviews

A programmer's library must-have5
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).

Good, But Not Great3
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.

Are you already familiar with functional programming?4
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.