Programming Erlang, 2nd Edition
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 and covers Erlang R17 features. 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
Table of Contents
Part I: Why Erlang?
Chapter 1. Introducing Concurrency
Chapter 2. A Whirlwind Tour of Erlang
Part II: Sequential Programming
Chapter 3. Basic Concepts
Chapter 4. Modules and Functions
Chapter 5. Records and Maps
Chapter 6. Error Handling in Sequential Programs
Chapter 7. Binaries and the Bit Syntax
Chapter 8. The Rest of Sequential Erlang
Chapter 9. Types
Chapter 10. Compiling and Running Your Program
Part III: Concurrent and Distributed Programs
Chapter 11. Real-World Concurrency
Chapter 12. Concurrent Programming
Chapter 13. Errors in Concurrent Programs
Chapter 14. Distributed Programming
Part IV: Programming Libraries and Frameworks
Chapter 15. Interfacing Techniques
Chapter 16. Programming with Files
Chapter 17. Programming with Sockets
Chapter 18. Browsing with Websockets and Erlang
Chapter 19. Storing Data with ETS and DETS
Chapter 20. Mnesia: The Erlang Database
Chapter 21. Profiling, Debugging, and Tracing
Chapter 22. Introducing OTP
Chapter 23. Making a System with OTP
Part V: Building Applications
Chapter 24. Programming Idioms
Chapter 25. Third-Party Programs
Chapter 26. Programming Multicore CPUs
Chapter 27. Sherlock’s Last Case
Appendix A1. OTP Templates
Appendix A2. A Socket Application
Appendix A3. A Simple Execution Environment
- Paperback: 530 pages
- Publisher: Pragmatic Bookshelf; 2nd Edition (October 2013)
- Language: English
- ISBN-10: 193778553X
- ISBN-13: 978-1937785536