This book has two goals. The first is to teach the reader the fundamental theories of concurrent computation, and the second is to teach programming languages that can be used to develop correct distributed computing systems. The book is organized into two parts (theory and practice) to achieve those goals sequentially, but the chapters in the two parts are related, so that the reader is able to see how the theory is put into practice.

The book follows somewhat of a historical progression through various formal approaches to managing concurrency, distribution, and mobility. The book opens with λ calculus and progresses through π calculus, actors, and the join calculus. Matching this on the practical side are discussions and examples of Pict and Nomadic Pict (π calculus), SALSA (actors), and JoCaml (join calculus). Three running examples--a reference cell, a mutual exclusion problem, and the dining philosophers problem--are used both in the theoretical discussions and in the corresponding programming language implementations.

The book is aimed at graduate students and researchers. As such, it is appropriately pitched and delivers a clear, well-thought-out discussion of concurrency, distribution, and mobility. The author delivers a solid theoretical basis in a historical context that nicely motivates the practical realization of that theory in a programming language. The discussion of each programming language adequately makes the author’s points, but it is insufficient to make anyone an expert in those languages. However, that is not the aim of the book. By providing the theory in the first half of the book, the author is able to concentrate on the programming language features of interest and avoid having to wade through excessive syntax. The theoretical discussion is not one that is beneficial to most undergraduate students or practitioners who are looking primarily for a practical discussion.

While the book may have a limited audience, it is an excellent choice for those it targets.

More reviews about this item: Amazon