or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
40 used & new from £11.50

Have one to sell? Sell yours here
 
   
Programming Erlang: Software for a Concurrent World
 
See larger image
 

Programming Erlang: Software for a Concurrent World (Paperback)

by Joe Armstrong (Author)
4.5 out of 5 stars  See all reviews (2 customer reviews)
RRP: £28.50
Price: £18.48 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £10.02 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.

Want guaranteed delivery by Tuesday, November 10? Choose Express delivery at checkout. See Details
32 new from £15.74 8 used from £11.50

Frequently Bought Together

Programming Erlang: Software for a Concurrent World + Erlang Programming + Real World Haskell: Code You Can Believe In
Price For All Three: £65.81

Show availability and shipping details


Customers Who Bought This Item Also Bought

Erlang Programming

Erlang Programming

by Francesco Cesarini
4.0 out of 5 stars (1)  £23.35
Real World Haskell: Code You Can Believe In

Real World Haskell: Code You Can Believe In

by Bryan O'Sullivan
3.8 out of 5 stars (5)  £23.98
Programming In Scala: A Comprehensive Step-By-Step Guide

Programming In Scala: A Comprehensive Step-By-Step Guide

by Martin Odersky
5.0 out of 5 stars (3)  £25.54
Purely Functional Data Structures

Purely Functional Data Structures

by Chris Okasaki
5.0 out of 5 stars (3)  £22.93
Programming in Haskell

Programming in Haskell

by Graham Hutton
3.3 out of 5 stars (3)  £18.69
Explore similar items

Product details

  • Paperback: 536 pages
  • Publisher: Pragmatic Bookshelf; illustrated edition edition (11 Jul 2007)
  • Language English
  • ISBN-10: 193435600X
  • ISBN-13: 978-1934356005
  • Product Dimensions: 22.4 x 19.2 x 2.6 cm
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon.co.uk Sales Rank: 18,171 in Books (See Bestsellers in Books)

    Popular in these categories:

    #3 in  Books > Computing & Internet > Computer Science > Architecture & Microprocessors > Microprocessors > Parallel Processing & Computing
    #4 in  Books > Computing & Internet > Databases > Database Theory
    #12 in  Books > Computing & Internet > Computer Science > Security > Network Security

Customers Viewing This Page May Be Interested in These Sponsored Links

  (What is this?)
   Well-typed sysadmins opens new browser window
www.janestcapital.com/tech.html  -  Get paid well OCaml/sysadmin jobs in NYC 
   Unlimited LISP programs opens new browser window
www.LispGen.com  -  Unlimited LISP programs from the LISP Generator. Find out more. 
  
 

Product Description

samzenpus, Slashdot.org, September 2007

I would like to thank the pragmatic programmers for publishing this book.


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


  • Tags Customers Associate with This Product

     (What's this?)
    Click on a tag to find related items, discussions, and people.
     

    Your tags: Add your first tag
     

    What Do Customers Ultimately Buy After Viewing This Item?

    Programming Erlang: Software for a Concurrent World
    82% buy the item featured on this page:
    Programming Erlang: Software for a Concurrent World 4.5 out of 5 stars (2)
    £18.48
    Erlang Programming
    7% buy
    Erlang Programming 4.0 out of 5 stars (1)
    £23.35
    Real World Haskell: Code You Can Believe In
    5% buy
    Real World Haskell: Code You Can Believe In 3.8 out of 5 stars (5)
    £23.98
    Programming Collective Intelligence: Building Smart Web 2.0 Applications
    3% buy
    Programming Collective Intelligence: Building Smart Web 2.0 Applications 4.1 out of 5 stars (9)
    £18.46

     

    Customer Reviews

    2 Reviews
    5 star:
     (1)
    4 star:
     (1)
    3 star:    (0)
    2 star:    (0)
    1 star:    (0)
     
     
     
     
     
    Average Customer Review
    4.5 out of 5 stars (2 customer reviews)
     
     
     
     
    Share your thoughts with other customers:
    Most Helpful Customer Reviews

     
    46 of 46 people found the following review helpful:
    5.0 out of 5 stars A Top 5 Programing Book this Millenium, so far ..., 18 Sep 2007
    This book is outstanding. It's easy to read, fun and, maybe, exciting. The exposition is lucid, and exploits a practical, hands-on, example-driven approach throughout. I enjoyed both the breadth and depth of coverage. It interweaves working code with full, clear explanation, background and valuable insight. It felt like discovering chair-lifts after years of sidling up mountain slopes on ski's.

    Erlang and OTP are comparable to Java and core J2EE. Erlang/OTP is freely available, Open Source, software from Ericsson, the telecoms company. Erlang has several impressive attributes, but one is Ericssons claim it is used in telecom's hardware to deliver 99.9999999% (roughly 1 second in 30 years) availability, beating most Enterprise applications by a few 9's.

    The excellent roadmap in chapter 1 explains the books organisation and chunking of content; roughly: sequential programming, concurrent programming, distributed programming, interfacing, data storage, databases, OTP and multi-core programming. There is good depth to the content. The order of material can be a little strange, but if you are familiar with programming, it's likely straightforward.

    The book sets off at a good pace, quickly getting up and running with 'sequential Erlang'. Unlike many programming books, Armstrong deals with the practical nitty-gritty of downloading, installing, compiling, debugging and running Erlang on Mac, Linux and Windows. He returns to development practicalities at several points to support the increasing sophistication of applications. I felt that he really wants to make learning and applying Erlang straightforward, and he succeeded for me; everything worked 'silky smooth'.

    The sequential subset of Erlang is a dynamically-typed functional programming language with all of the usual bits, like: single assignment, pattern matching, list comprehensions, first class functions, exceptions, etc. In use, Erlang feels as much like strict Scheme, with helpful syntax, as statically-typed FP languages like Haskell, OCaml, or Standard ML.

    Next Armstrong introduces concurrency with light-weight processes, Erlangs powerful message passing mechanism, and failure handling. This is where this book really takes off. Before we're 1/3rd in, we can exploit our dual or quad-core processors, be ready for future many-core chips, with minimal complexity, and handle process failure by 'healing' the system. Gulp!

    Distributed Erlang starts setting things up for the later OTP chapters by applying the distributed computing mechanisms. Erlang implements distributed systems by distributing multiple nodes (Erlang VMs) on and across machines. The earlier concurrent stuff, like messaging and failure handling, easily extends to this environment.

    The Erlang data storage chapters on ETS, DEST, and Mnesia, the distributed real-time database, have working examples. I would have liked more depth on Mnesia, but there is on-line documentation at erlang.org. Interfacing covers TCP/IP, HTTP clients and servers, UDP, and integrating with external C programs and internal 'drivers'. There are plenty of nifty examples woven throughout, so enough to keep me experimenting.

    The crowning glory is OTP. This provides components and frameworks for building distributed systems which require very little extraneous code or configuration. OTP implements distribution, fault-tolerance, self-healing, administration, error-management, hot-code-upgrading, etc. on behalf of the developer. If you've tried to build these capabilities for real, I think you'll find OTP breathtaking. I would have liked even more examples.

    While many of the examples are short, it is testament to the compact, expressive power of Erlang that significant examples are included without making the book feel like a pile of code. There's plenty of explanatory meat too.

    Weaknesses? There are a few. I would have liked more string or text processing. More complete comparison with 'traditional web application architecture' because that's perceived as the basic 'bread and butter'. The function-reference appendix is inferior to the free, on-line documentation. I'd also recommend also buying the searchable PDF to speed things up when your working. Finally, the front cover 'zebra-crossing' isn't as cool as the 'pickaxe book' :-)

    This book won't make you a great Erlang programmer, but it does feel like a massive leap in an important direction. Even if you never use Erlang, you could benefit from reading it. I found myself hacking pieces of code, experimenting with toy servers, while I was supposed to be watching TV. Beware, Erlang can become addictive stuff.

    I apologise for the long review, but the book review listed here was too sparse to do the book justice.

    Summary: Easy to read, practical, engaging, and sometimes inspirational. If you are interested in building Enterprise-class distributed software systems, get the book, download the open source software, hack the examples, and revel in the experience; simply: "jump in the water is lovely".
    Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



     
    1 of 1 people found the following review helpful:
    4.0 out of 5 stars Good overview of the language, but not much theory depth, 19 April 2009
    By C. Reed (Cambridge, UK) - See all my reviews
    (REAL NAME)   
    A good introduction to Erlang, with worked examples. Reading style is fairly formal but quite readable, easy to get on with.

    My one gripe with this book is that the most it states about race conditions is that you should write programs to not be sensitive to the order they receive messages from different processes, and if not, bugs can ensue. For such a significant problem area, and a paradigm that will be new to most people, that's not enough - some examples of what problems there are, how to solve them, and what patterns work well would have made the book twice as valuable. Similarly, the advice on how many processes is "Just enough, and not too much", which I'm sure is right, but really is longing for more to be said. (Hopefully a "More Erlang" book would cover these). Both topics receive 1-2 paragraphs.
    Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


    Share your thoughts with other customers: Create your own review
     
     
     
    Only search this product's reviews



    Customer Discussions

    This product's forum
    Discussion Replies Latest Post
    No discussions yet

    Ask questions, Share opinions, Gain insight
    Start a new discussion
    Topic:
    First post:
    Prompts for sign-in
     

       


    Listmania!


    Look for similar items by category


    Look for similar items by subject


    Feedback

    Ad

    Your Recent History

     (What's this?)

    After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.