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 concentrated on simplicity. Only the essential, always ask why complications are tolerated. 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

Information on the work of Per Brinch Hansen:
Solo and Concurrent/Sequential Pascal
Edison system
Joyce A programming language for networks
– Collected articles by Per Brinch Hansen

Books in my library:

pbhoperating Operating System Principles
(1973, ISBN 0-13-637843-9) (scanned)
pbharchitecture The Architecture of Concurrent Programs (1977, ISBN 0-13-044628-9)

Concurrent Pascal and Solo

Programming a Personal Computer, Per Brinch Hansen The book describing the Edison system, design, development,listing of programs including compiler in the Edison language, and the interpreter/runtime written in PDP-11 Alva language.

(1983, ISBN 0-13-730267-3), the Edison system

pbhpascalcompiler Brinch Hansen on Pascal Compilers
(1985, ISBN 0-13-083098-4) (scanned)
The Search for Simplicity.
Essays on Parallel ProgrammingSee below.
(1996, ISBN 0-8186-7566-7

The Search for Simplicity. Essays on Parallel Programming.

The Cobol compiler for the Siemens 3003
Design considerations for the RC 4000 computer
The logical structure of the RC 4000 computer
The RC 4000 real-time control system at Pulawy
RC 4000 Software: Multiprogramming System (abridged)
RC 4000 Computer: Reference Manual
RC 4000 Software: Multiprogramming System (complete)
The nucleus of a multiprogramming system
An outline of a course on operating system principles
Structured multiprogramming
Shared classes
Testing a multiprogramming system
The programming language Concurrent Pascal
The Solo operating system: A Concurrent Pascal program
The Solo operating system: Processes, monitors, and classes
The programmer as a young dog
Experience with modular concurrent programming
Design principles
Network—A multiprocessor program
Distributed processes: A concurrent programming concept
Reproducible testing of monitors
A keynote address on concurrent programming
The design of Edison
Joyce—A programming language for distributed systems
A multiprocessor implementation of Joyce
The nature of parallel programming
The Joyce Language Report
The linear search rediscovered
Householder reduction of linear equations
Monitors and Concurrent Pascal: A personal history
Model programs for computational science
Parallel cellular automata
Multiple-length division revisited
SuperPascal—A publication language
Interference control in SuperPascal
Efficient parallel recursion
The all-pairs pipeline
Balancing a pipeline
Java’s insecure parallelism
The evolution of operating systems
The invention of concurrent programming

Other books: – Studies in Computational Science: Parallel Programming Paradigms (1995, ISBN 0-13-439324-4) – 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