Programming Erlang (PragProg)

https://forum.devtalk.com/uploads/default/optimized/1X/8d8c537e1a5afa298e4ecbe9eab78386143e931a_2_500x600.jpeg

Joe Armstrong

edited by Susannah Davidson Pfalzer

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.


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


Don’t forget you can get 35% off with our discount code from Devtalk - just use the coupon code “devtalk.com" at checkout :023:

5 Likes

Many of the Erlang books are getting a little long in the tooth considering the changes in the language and ecosystem - I have browsed several of them recently.

This one by Joe Armstrong is probably my favorite introduction.
It is from 2013 (OTP17) and could do with a 3rd edition - of course Joe is unfortunately not around to do it.

The chapter on maps needs to be updated - syntax has changed and the examples don’t compile with the OTP26 release.

Book mentions several 3rd party tools - the list should probably be revised/updated.

Rebar is now Rebar3 - several tools come with Erlang; shell, debugger, mnesia etc. I think a tool like Rebar3 should be there too - a good build/package tool is really important. Newer languages always have them “included” - e.g. Nodejs, Rust, whereas older languages like C and Python don’t and have struggled to get a good default option…

9 Likes

Much agreed. I have been training my team with Erlang and every time I give them a reference I have to do so with the caveat that “this content has some obsolete parts”. I’d really love a revision of Armstrong’s book to account for the changes and latest OTP. Maybe even a chapter on Erlang/Elixir/other-BEAM-language co-existence which is something that we’ve been doing internally and could probably suggest some best practices. I’d be willing to help do some of this writing but I’d have to have an agreement with the publisher that they’d be willing to publish the new edition in order to be worth making the effort.

2 Likes

I’d love to see Robert and/or the Erlang Core Team write an update to this book - I reckon PragProg could be receptive to that :blush:

4 Likes