A Programming RevolutionIn the 1970s new programming languages were developed to express asynchronous, concurrent processes. These languages support the now familiar paradigms for process communication known as monitors, remote procedure calls, and synchronous communication. The most influential early idea was the monitor concept and its implementation in the programming language Concurrent Pascal. This is a personal history of how monitors and Concurrent Pascal were invented. I have tried to write the history of an idea-how it arose and spread through the scientific community. I have also described the struggles of the creative process, how you grope your way through obscurities and blind alleys until you find an elegant way of expressing an idea. * P. Brinch Hansen, Monitors and Concurrent Pascal: A personal history.