Books Essential bookshelf

Communicating Sequential Processes by C.A.R. Hoare

This book introduces a new mathematical approach to the study of concurrency and communication. Most suitable application of this new field is to the specification, design and implementation of computer systems which continuously act and interact with their environment.

Foreword by Edsger W. Dijkstra

For a variety of reasons, this is a book eagerly awaited by all who knew it was in the making; to say that their patience has been rewarded would be an understatement.

A simple reason was that it is Tony Hoare’s first book. Many know him from the lectures he has untiringly given all over the world; many more know him as the articulate and careful author of a number of articles (of great variety!) that became classics almost before the printer’s ink had dried. But a book is a diferent medium: here the author can express himself without the usually stringent limitations of time and space; it gives him the opportunity of revealing himself more intimately and of covering a topic of wider span, opportunities of which Tony Hoare has made the best use we could hope for. A more solid reason was derived from the direct contents of the book. When concurrency confronted the computing community about a quarter of a century ago, it caused an endless confusion, partly by the technically very diferent circumstances in which it emerged, partly by the accident of history that it introduced non-determinism at the same time. The disentanglement of that confusion required the hard work of a mature and devoted scientist who, with luck, would clarify the situation. Tony Hoare has devoted a major part of his scientific endeavours to that challenge, and we have every reason to be grateful for that.

The most profound reason, however, was keenly felt by those who had seen earlier drafts of his manuscript, which shed with surprising clarity new light on what computing science could—or even should—be. To say or feel that the computing scientist’s main challenge is not to get confused by the complexities of his own making is one thing; it is quite a diferent matter to discover and show how a strict adherence to the tangible and quite explicit elegance of a few mathematical laws can achieve this lofty goal. It is here that we, the grateful readers, reap to my taste the greatest benefits from the scientific wisdom, the notational intrepidity, and the manipulative agility of Charles Antony Richard Hoare.