Per Brinch Hansen

hansenBrinch Hansen was one of the pioneers of concurrent programming and operating systems (kernels). In the 1960s, Brinch Hansen worked at the Danish computer company Regnecentralen, first in the compiler group headed by Peter Naur and Jørn Jensen, and, later, as the chief architect of the RC 4000 minicomputer and its renowned operating system kernel (RC 4000 Multiprogramming System). In 1972, he wrote the first comprehensive textbook on Operating System Principles.

In 1970 his research in computer science focused on concurrent programming.  Inspired by Ole-Johan Dahl and Kristen Nygaard’s programming language Simula 67, he invented the monitor concept in 1972. In the United States, he also developed the first concurrent programming language, Concurrent Pascal, in 1975. In 1977, he wrote the first book on Concurrent Programming: The Architecture of Concurrent Programs.

Per Brinch Hansen has, like Niklaus Wirth with Oberon, concentrated on simplicity. Only the essential, always ask why complications are tolerated. It took Wirth to Oberon-2007 to achieve the same level of simplicity. His book on Programming a Personal Computer, read by me in 1983, made a lasting deep impresssion on me.

Two citations from Per Brinch Hansen on simplicity and programming
– Writing is a rigorous test of simplicity: It is just not possible to write convincingly about ideas that cannot be understood.
– Programming is the art of writing essays in crystal clear prose and making them executable

His books in my library:

pbhoperating Operating System Principles (1973, ISBN 0-13-637843-9)
pbharchitecture The Architecture of Concurrent Programs (1977, ISBN 0-13-044628-9)
pbhpc Programming a Personal Computer (1983, ISBN 0-13-730267-3)
pbhpascalcompiler Brinch Hansen on Pascal Compilers (1985, ISBN 0-13-083098-4)

The Edison language report in html format

Other books:
– Studies in Computational Science: Parallel Programming Paradigms (1995, ISBN 0-13-439324-4)
– The Search for Simplicity: Essays in Parallel Programming (1996)
– Programming for Everyone in Java (1999, ISBN 0-387-98683-9)
– Classic Operating Systems: From Batch Processing to Distributed Systems (2001, ISBN 0-387-95113-X)
– The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls (2004, ISBN 0-387-95401-5)
– A Programmer’s Story: The Life of a Computer Pioneer (2004, local copy available here at
– Many articles in the scientific journals, many available at local copy of