Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$28.79$28.79
FREE delivery: Tuesday, April 23 on orders over $35.00 shipped by Amazon.
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $19.54
Other Sellers on Amazon
+ $3.99 shipping
95% positive over last 12 months
FREE Shipping
100% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Programming Erlang: Software for a Concurrent World (Pragmatic Programmers) 2nd Edition
Purchase options and add-ons
Using Erlang, you'll be surprised at how easy it becomes to deal with parallel problems, and how much faster and more efficiently your programs run. That's because Erlang uses sets of parallel processes-not a single sequential process, as found in most programming languages.
Joe Armstrong, creator of Erlang, introduces this powerful language in small steps, giving you a complete overview of Erlang and how to use it in common scenarios. You'll start with sequential programming, move to parallel programming and handling errors in parallel programs, and learn to work confidently with distributed programming and the standard Erlang/Open Telecom Platform (OTP) frameworks.
You need no previous knowledge of functional or parallel programming. The chapters are packed with hands-on, real-world tutorial examples and insider tips and advice, and finish with exercises for both beginning and advanced users.
The second edition has been extensively rewritten. New to this edition are seven chapters covering the latest Erlang features: maps, the type system and the Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment. You'll write programs that dynamically detect and correct errors, and that can be upgraded without stopping the system. There's also coverage of rebar (the de facto Erlang build system), and information on how to share and use Erlang projects on github, illustrated with examples from cowboy and bitcask.
Erlang will change your view of the world, and of how you program.
What You Need
The Erlang/OTP system. Download it from erlang.org.
- ISBN-10193778553X
- ISBN-13978-1937785536
- Edition2nd
- PublisherPragmatic Bookshelf
- Publication dateOctober 29, 2013
- LanguageEnglish
- Dimensions7.5 x 1.3 x 9.2 inches
- Print length548 pages
Frequently bought together

Customers who viewed this item also viewed
From the brand
-
The Pragmatic Programmers publishes hands-on, practical books on classic and cutting-edge software development and engineering management topics. We help professionals solve real-world problems, hone their skills, and advance their careers.
-
From the Publisher
|
|
|
|
|
|---|---|---|---|---|
| Programming Erlang, 2nd edition | Programming Elixir 1.2 | Metaprogramming Elixir | Programming Phoenix | |
| Customer Reviews |
4.7 out of 5 stars
88
|
4.4 out of 5 stars
23
|
4.6 out of 5 stars
48
|
4.4 out of 5 stars
44
|
| Price | $28.79$28.79 | $6.86$6.86 | $17.00$17.00 | $26.14$26.14 |
| Covers | The framework that started the revolution. Learn Erlang start to finish straight from the source - its creator. | Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. This definitive guide tells you what you need to know. | Write code that writes code with Elixir macros, and use them to extend the language. Written by the creator of Phoenix. | Build an application that’s fast and reliable. At every step, you’ll learn from the Phoenix creators not just what to do, but why. |
| Reader Level | Beginner to intermediate | Intermediate to advanced | Intermediate to advanced | Advanced beginner to advanced intermediate |
| Page count | 548 | 354 | 128 | 298 |
Editorial Reviews
Review
""This second edition of Joe's seminal Programming Erlang is a welcome update, covering not only the core language and framework fundamentals but also key community projects such as rebar and cowboy. Even experienced Erlang programmers will find helpful tips and new insights throughout the book, and beginners to the language will appreciate the clear and methodical way Joe introduces and explains key language concepts.""--Alexander Gounares, Former AOL CTO, advisor to Bill Gates, and founder/CEO of Concurix Corp.
About the Author
Product details
- Publisher : Pragmatic Bookshelf; 2nd edition (October 29, 2013)
- Language : English
- Paperback : 548 pages
- ISBN-10 : 193778553X
- ISBN-13 : 978-1937785536
- Item Weight : 2.1 pounds
- Dimensions : 7.5 x 1.3 x 9.2 inches
- Best Sellers Rank: #269,014 in Books (See Top 100 in Books)
- #317 in Software Development (Books)
- #336 in Internet & Telecommunications
- #6,537 in Unknown
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
After an introduction to how to do things sequentially we're then ushered into how the primitives for concurrency work and what they enable, but also what they mean in terms of error handling and how you will need to structure your networks of processes in order to make your system robust.
When we're comfortable with the concurrency primitives and how to handle them comes a part about how to interface with external resources and how this is typically (ideally) done in Erlang. A SHOUTcast server is demonstrated before moving on how to interface with websockets; a very powerful chapter demonstrating the simplicity of how Erlang can communicate with an external process.
When we're done with the multitude of ways you can use websockets we jump straight into data handling; ETS- and DETS-tables. This flows into a chapter about the Mnesia database.
After a chapter about debugging and tracing (which is quite unique in Erlang) we are introduced to OTP, the Open Telecom Platform ("The name is actually misleading, because OTP is far more general tan you might think", indeed). After a good introduction to how the generic server module is structured and created (introducing callbacks and how they work) we're then introduced to how to make a system using OTP.
At this point, one might be inclined to put the book down and that would be fine, but to close the book out there are several chapters on useful idioms, what to aim for in terms of how to interface with external processes, using external dependencies and perhaps most importantly what to think about when you're trying to use multiple cores effectively.
Buy it. You won't regret it.
Style-wise, this book is easy to read. Takes you from knowing nothing about erlang to very advanced techniques. And does this in a very clear, concise way with just enough source code and problems. I really liked the way author teaches the topic.
Content wise, this book is about erlang and it has everything one needs in easy to gtab chunks. It might be slightly expensive compared to other books but totally worth it, especially you are learning it from the horse's mouth, hahaha.
I feel like I have everything I need to write erlang code with just this book.
Not sure why the copy that arrived at my home at the new price was dirty and smeared with ink stains.
The content of the book is absolutely 5 stars - the quality of this print copy was 2 stars.
Top reviews from other countries
Joe Armstrong distille des conseils et des techniques tout au long du livre consacré à son langage.
On y comprends mieux Erlang et sa force. Ne vous laissez pas avoir par la syntaxe.
Part 1 - Why Erlang? This introduces the concept of concurrency, and explains that modern computers have multiple cores. But writing programs which can take advantage of multiple cores is hard, far harder than it should be. Indeed, there's a view that this is acting as a huge constraint on how the likes of Intel take processor chips forward. Erlang was designed to run across multiple processors, and so fits the modern multicore world like a glove.
Part 2 - Sequential Programming. Here he gets into the nuts and bolts of "ordinary" Erlang programming i.e. integers, lists, strings, functions, etc. He also introduces pattern matching, which is a powerful way of getting the right bit of code called, relieving the programmer of much boilerplate coding. This section is needed in all programming books, not much more to say about it.
Part 3 - Concurrent and Distributed Programs. This is where the fun starts. He explains all about Erlang processes, which are NOT operating system processes, but mini processes simulated by the Erlang VM. They're kind of "green threads", and they are so lightweight that there can be millions of them in one server. Then they can be distributed over many servers, with a bit of effort but not with so much effort that it kills you.
The Erlang way of handling errors is covered next. Imagine having millions of processes running at the same time, and all the interactions that can occur. What happens when you have a bug, or some weird environmental thing happens, and one of your processes dies? In a Java multi-threaded application, the app would die; so much work is done trying to stop that from happening. In Erlang, you just let the process die, and the system fires up a new one. Everything was designed in from scratch to handle large-scale software, processes, and sets of servers.
Part 4 - Programming Libraries and Frameworks. Here we're told about interfacing Erlang with other languages, using sockets, websockets, the inbuilt database support, and tools like profilers and debuggers. Then we get a description of OTP, a huge and battle-tested library ready for us to use. We also get told here about hot code swapping - the ability to replace live code while the system continues to run: this allows you to build a system which can run for years at a time, without the need to bring it down for maintenance. No wonder the WhatsApp people chose Erlang.
Part 5 - Building Applications tidies up any loose ends, including Erlang programming idioms.
All in all, an excellent book. You don't need to be an Erlang expert to read it. Or even know any Erlang at all before you start. You'll end up being proficient at Erlang, with the foundation to be able to turn yourself into an expert. What is fascinating is learning how a master developer thinks.








