Search
 Advanced SearchView Cart   Checkout   
 Location:  Home » Books » Programming Languages » Programming Erlang: Software for a Concurrent WorldNovember 22, 2008  
Browse
Books
Computers
Electronics
Related Categories
• Programming Languages
Computer Science
New & Used Textbooks
Custom Stores
Specialty Stores
• Software Design & Engineering
Computer Science
New & Used Textbooks
Custom Stores
Specialty Stores
• General AAS
Computer Science
New & Used Textbooks
Custom Stores
Specialty Stores
• General AAS
New & Used Textbooks
Custom Stores
Specialty Stores
Books
• General AAS
Qualifying Textbooks
Custom Stores
Specialty Stores
Books
• General AAS
Internet
Home Computing
Computers & Internet
Subjects
• Privacy
Business & Culture
Computers & Internet
Subjects
Books
• General
Computer Science
Computers & Internet
Subjects
Books
• General AAS
Computer Science
Computers & Internet
Subjects
Books
• General
Databases
Computers & Internet
Subjects
Books
• General AAS
Databases
Computers & Internet
Subjects
Books
• Parallel Processing Computers
Hardware
Computers & Internet
Subjects
Books
• Client-Server Systems
Data in the Enterprise
Networking
Computers & Internet
Subjects
• Network Security
Networking
Computers & Internet
Subjects
Books
• General
Languages & Tools
Programming
Computers & Internet
Subjects
• General AAS
Languages & Tools
Programming
Computers & Internet
Subjects
• Software Development
Software Design, Testing & Engineering
Programming
Computers & Internet
Subjects
• General
Programming
Computers & Internet
Subjects
Books
• General AAS
Programming
Computers & Internet
Subjects
Books
• General
Software
Computers & Internet
Subjects
Books
• General AAS
Software
Computers & Internet
Subjects
Books
• General
Computers & Internet
Subjects
Books
• General AAS
Computers & Internet
Subjects
Books
• Illustrated
Edition (format)
Refinements
Books
• Paperback
Binding (binding)
Refinements
Books
• Printed Books
Format (feature_browse-bin)
Refinements
Books
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
Author: Joe Armstrong
Publisher: Pragmatic Bookshelf
Category: Book

List Price: $36.95
Buy New: $20.55
You Save: $16.40 (44%)
Buy New/Used from $20.00

Avg. Customer Rating: 4.5 out of 5 stars(27 reviews)
Sales Rank: 15435

Format: Illustrated
Languages: English (Original Language), English (Unknown), English (Published)
Media: Paperback
Edition: 1
Number Of Items: 1
Pages: 536
Shipping Weight (lbs): 1.9
Dimensions (in): 8.8 x 7.6 x 1

ISBN: 193435600X
Dewey Decimal Number: 005.133
EAN: 9781934356005
ASIN: 193435600X

Publication Date: July 11, 2007
Availability: Usually ships in 1-2 business days

Customer Reviews:
Showing reviews 6-10 of 27
 « PREV  
1 2 3 4 5 6
  NEXT »

3 out of 5 stars Necessary book, but needs a 2nd edition   March 5, 2008
  8 out of 9 found this review helpful

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.



5 out of 5 stars An excellent book   February 6, 2008
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.



4 out of 5 stars Are you already familiar with functional programming?   January 30, 2008
  12 out of 13 found this review helpful

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.



4 out of 5 stars Very interesting topic for leading edge types   January 24, 2008
  2 out of 3 found this review helpful

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!



5 out of 5 stars A Practical and Philosophical Introduction to Erlang   January 20, 2008
  1 out of 2 found this review helpful

"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.'


Powered by: Dknc, inc. and Amazon.com


For your safety and security, orders are processed through amazon.com