- Series: Pragmatic Programmers
- Paperback: 548 pages
- Publisher: Pragmatic Bookshelf; 2 edition (October 3, 2013)
- Language: English
- ISBN-10: 193778553X
- ISBN-13: 978-1937785536
- Product Dimensions: 7.5 x 1.3 x 9.2 inches
- Shipping Weight: 2.1 pounds (View shipping rates and policies)
- Average Customer Review: 4.8 out of 5 stars See all reviews (17 customer reviews)
- Amazon Best Sellers Rank: #281,753 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Programming Erlang: Software for a Concurrent World (Pragmatic Programmers) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Featured resources for tech professionals
Explore these featured titles, sponsored by Springer. Learn more
Frequently bought together
Customers who bought this item also bought
From the Publisher
|Programming Erlang, 2nd edition||Programming Elixir 1.2||Metaprogramming Elixir||Programming Phoenix|
|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|
"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."
About the Author
Joe Armstrong is one of the creators of Erlang. He has a Ph.D. in computer science from the Royal Institute of Technology in Stockholm, Sweden and is an expert on the construction of fault-tolerant systems. He has worked in industry, as an entrepreneur, and as a researcher for more than 35 years.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
The book starts at first principles and gives you a lot of the motivation behind design decisions and rationale. It makes it easier to keep in your head and fully understand what Erlang tries to solve and why. I already know other functional languages so I can't speak to how well it would read as a person first introduced to these concepts.
That said, I'm more excited about using Elixir than Erlang directly. However, I learned Erlang first because I wanted to know the underlying language and VM that Elixir was built upon. You can learn Elixir without learning Erlang, but I think that's a mistake. Erlang is much older and it's helpful to understand the design decisions and tradeoffs that went into Elixir.
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.