- Save 10% on Books for Schools offered by Amazon.co.uk when you purchase 10 or more of the same book. Here's how (terms and conditions apply) Enter code SCHOOLS2017 at checkout. Here's how (terms and conditions apply)
Programming Erlang: Software for a Concurrent World (Pragmatic Programmers) Paperback – 3 Oct 2013
|New from||Used from|
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Special offers and product promotions
Frequently bought together
Customers who bought this item also bought
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.
""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
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.
What other items do customers buy after viewing this item?
Top customer reviews
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.
Would you like to see more reviews about this item?
Look for similar items by category
- Books > Computing & Internet > Computer Science > Information Systems
- Books > Computing & Internet > Digital Lifestyle
- Books > Computing & Internet > Programming > Languages & Tools
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Functional Programming
- Books > Computing & Internet > Programming > Software Design, Testing & Engineering > Software Architecture