It’s here! The paperback final version of Programming Erlang starts shipping on Monday, July 16.

See the book’s home page for all the details, excerpts, and more.

About this book:

Moore’s Law tells us that computing power doubles every two years, and we’ve enjoyed faster and faster computers ever since. But Moore’s law is about to break: there’s a physical limit to the number of interconnections you can create on a chip. New multi-core devices—single chips with 2, 4, or more processors each—are the future.

But that only works if your programs are designed to be concurrent; with normal software practices and environments, your code will only run on a single processor at a time. Your users will think that your code is slow. And writing concurrent programs in many popular programming languages can be cumbersome and error-prone.

In Programming Erlang: Software for a Concurrent World (Pragmatic Bookshelf, US$36.95, 1-934356-00-X), creator Joe Armstrong describes Erlang, a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerant systems which run for years with minimal failures.

According to Joe, programming in Erlang more closely matches the real world—where we are naturally concurrent. “Erlang programs model how we think and interact,” says Joe. Programming Erlang is much easier than in conventional languages as in the Erlang world, there are no locks, no synchronized methods, and no possibility of shared memory corruption.

Erlang programs run seamlessly on multi-core computers with no extra code on your part. Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems. The result is a powerful language that makes it much easier to building the massively parallel networked applications of the future.

This book includes lots of example code you’ll be able to build upon. In addition, it contains the full source code for two interesting applications:

  • SHOUTcast server to stream music
  • Full-text indexing and search engine that can index gigabytes of data

The indexing engine is specially written to illustrate how to maximize throughput on a multi-core CPU.

Erlang is a language used by people in-the-know (just like Ruby was a few years ago). It solves one of the most pressing problems facing developers today: how to write reliable, concurrent, high-performance systems.

Invest in learning Erlang now.

Available now from http://pragmaticprogrammer.com/titles/jaerlang/

Coming soon:

  • GIS for Web Developers: Adding ‘Where’ to Your Web Applications

Recently released:

  • The Definitive ANTLR Reference: Building Domain-Specific Languages
  • Design Accessible Web Sites 36 Keys to Creating Content for All Platforms and Audiences (Beta)
  • Prototype and script.aculo.us: You never knew JavaScript could do this! (Beta)
  • Release It! Design and Deploy Production-Ready Software
  • TextMate: Power Editing for the Mac

Enjoy, and thanks for your continued support!

Andy and Dave www.PragmaticProgrammer.com