Per Brinch Hansen

Dr. techn. Per Brinch Hansen (13. november 1938 på Frederiksberg – 31. juli 2007) var en dansk datalog og i årene 1987-2007 professor ved Syracuse-Universitetet i New York.

Per Brinch Hansen var en af pionererne inden for udvikling af parallelprogrammering og principper for styresystemkerner. Han var også ophavsmand til det danske ord for computer: Datamat.

I 1960'erne arbejdede Per Brinch Hansen på Regnecentralen, først i compilergruppen under Peter Naur og Jørn Jensen, sidenhen som chefarkitekten bag RC4000-datamaten og dens banebrydende operativsystemkerne. I 1972 skrev han den første bog om Operating System Principles.

I perioden 1970-2000 gjaldt det parallelprogrammering og datalogi: Inspireret af Ole-Johan Dahl og Kristen Nygaards programmeringssprog Simula 67 opfandt han monitorbegrebet i 1972. I USA udviklede han det første parallelle programmeringssprog, Concurrent Pascal i 1975, og skrev i 1977 den første bog om parallel programmering: The Architecture of Concurrent Programs.

I de seneste år dokumenterede Brinch Hansen den historiske udvikling inden for disse centrale emner.

Uddannelse 
 1957 Studentereksamen, St. Jørgens Gymnasium, Frederiksberg
 1963 Civilingeniør inden for elektronik ved Danmarks Tekniske Universitet

Erhvervsarbejde 
 1963–1970 Regnecentralen i København
 1967–1970 Leder af programudvikling for Regnecentralens RC4000-maskine
 1970–1972 Gæsteforsker ved Carnegie Mellon University i Pennsylvania
 1972–1976 Associate professor ved California Institute of Technology
 1976–1982 Professor ved University of Southern California
 1982–1984 Henry Salvatori-professor i datalogi sammesteds
 1984–1987 Professor i datalogi ved Københavns Universitet
 1987–nu Æresprofessor i datalogi ved Syracuse-Universitetet i staten New York.

Udmærkelser 
 1978 Dr. techn. ved Danmarks Tekniske Universitet med afhandlingen: The Architecture of Concurrent Programs
 1985 IEEE-Fellow
 1989 Chancellor’s Medal, Syracuse University
 2002 IEEE Computer Pioneer Award .. for pioneering development in operating systems and concurrent programming exemplified by work on the RC 4000 multiprogramming system, monitors, and Concurrent Pascal

Bibliografi

Bøger
 Operating System Principles 1973
 The Architecture of Concurrent Programs 1977
 Programming a Personal Computer 1983
 Brinch Hansen on Pascal Compilers 1985
 Studies in Computational Science: Parallel Programming Paradigms 1995 (Hans begreb Programming Paradigms svarer til design patterns)
 The Search for Simplicity: Essays in Parallel Programming 1996
 Programming for Everyone in Java 1999
 Classic Operating Systems: From Batch Processing to Distributed Systems (redaktør) 2001
 The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls (redaktør) 2002
 A Programmer's Story: The Life of a Computer Pioneer 2004.

Udvalgte artikler
 The Cobol compiler for the Siemens 3003, BIT 6, 1 (1966), 1–23 (with Roger House)
 Design Considerations for the RC 4000 Computer, Regnecentralen, Copenhagen, Denmark (1966) (with Peter Kraft)
 The logical structure of the RC 4000 computer, BIT 7, 3 (1967), 191– 199
 The RC 4000 real-time control system at Pulawy, BIT 7, 4 (1967), 279–288
 RC 4000 Software: Multiprogramming System, Part I General Description, Regnecentralen, Copenhagen, Denmark (1969) 13–52
 RC 4000 Software: Multiprogramming System (Complete), Regnecentralen, Copenhagen, Denmark (1969)
 RC 4000 Computer: Reference Manual, Regnecentralen, Copenhagen, Denmark (1969)
 The nucleus of a multiprogramming system, Communications of the ACM 13, 4 (April 1970), 238–242
 An outline of a course on operating system principles, in Operating Systems Techniques, Proceedings of a Seminar at Queen's University, Belfast, Northern Ireland, August–September 1971. C. A. R. Hoare and R. H. Perrott, Eds. Academic Press, New York (1972), 29–36
 Structured multiprogramming, Communications of the ACM 15, 7 (July 1972), 574–578
 Shared Classes, in Operating System Principles, Section 7.2 Class Concept, Prentice Hall, Englewood Cliffs, NJ, (July 1973), 226–232
 Testing a multiprogramming system, Software—Practice and Experience 3, 2 (April–June), 145–150
 The programming language Concurrent Pascal, IEEE Transactions on Software Engineering 1, 2 (June 1975), 199–207
 The Solo operating system: a Concurrent Pascal program, Software— Practice and Experience 6, 2 (April–June 1976), 141–149
 The Solo operating system: processes, monitors and classes, Software— Practice and Experience 6, 2 (April–June 1976), 165–200
 The Programmer as a Young Dog, English translation by the author of Programmøren som hvalp, In Niels Ivar Bech—en epoke i edbudviklingen i Danmark, P. Sveistrup, P. Naur, H.B. Hansen, and C. Gram, Eds., (in Danish), Data, Copenhagen, Denmark, (1976), 65–68
 Experience with modular concurrent programming, IEEE Transactions on Software Engineering 3, 2 (March 1977), 156–159
 Design Principles, in The Architecture of Concurrent Programs, Chapter 1 Design Principles, Prentice Hall, Englewood Cliffs, NJ, (July 1977), 3–14
 Network: A multiprocessor program, IEEE Transactions on Software Engineering 4, 3 (May 1978), 194–199
 Distributed processes: A concurrent programming concept, Communications of the ACM 21, 11 (November 1978), 934–941
 Reproducible testing of monitors, Software—Practice and Experience 8, 6 (November–December), 721–729
 A keynote address on concurrent programming, Keynote address for the IEEE Computer Software & Applications Conference, Chicago, IL, November 1978, Computer 12, 5 (May 1979), 50–56
 The Design of Edison, Software—Practice and Experience 11, 4 (April 1981), 363–396
 Joyce—A programming language for distributed systems, Software— Practice and Experience 17, 1 (January 1987), 29–50
 The Joyce Language Report, Software—Practice and Experience 19, 6 (June 1989), 553–578
 A multiprocessor implementation of Joyce, Software—Practice and Experience 19, 6 (June 1989), 579–592
 The nature of parallel programming, Inaugural Symposium at Syracuse University, Syracuse, NY, March 1989, In Natural and Artificial Parallel Computation, M.A. Arbib and J.A. Robinson, Eds. The MIT Press, Cambridge, MA, (1990), 31–46
 The linear search rediscovered, Structured Programming 11, (1990), 53–55
 Householder reduction of linear equations, ACM Computing Surveys 24, 2 (June 1992), 185–194
 Monitors and Concurrent Pascal: A personal history, 2nd ACM Conference on the History of Programming Languages, Cambridge, MA, April 1993, In SIGPLAN Notices 28, 3 (March 1993), 1–35
 Model programs for computational science: A programming methodology for multicomputers, Concurrency—Practice and Experience 5, 5 (August 1993), 407–423
 Parallel Cellular Automata: A model program for computational science, Concurrency—Practice and Experience 5, 5 (August 1993), 425–448
 Multiple-length division revisited: A tour of the minefield, Software—Practice and Experience 24, (June 1994), 579–601
 SuperPascal—A publication language for parallel scientific computing, Concurrency—Practice and Experience 6, 5 (August 1994), 461–483
 Interference control in SuperPascal—A block-structured language parallel language, The Computer Journal 37, 5 (1994), 399–406
 Efficient parallel recursion, SIGPLAN Notices 30, 12 (December 1995), 9–16
 The All-Pairs Pipeline, in Studies in Computational Science, Chapter 4: The all-pairs pipeline. Prentice Hall, Englewood Cliffs, NJ, (March 1995), 73–89
 Balancing a Pipeline, in Studies in Computational Science, Chapter 5: Balancing a pipeline. Prentice Hall, Englewood Cliffs, NJ, (March 1995), 90–100
 Java's insecure parallelism, SIGPLAN Notices 34, 4 (April 1999), 38–45
 The evolution of operating systems, In Classic Operating Systems: From Batch Processing to Distributed Systems, P. Brinch Hansen, Ed., Springer-Verlag, New York (2001)
 The invention of concurrent programming, In The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls'', P. Brinch Hansen, Ed., Springer-Verlag, New York (2002)

Citater 
 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

Kilder 

 Personligt web-sted med erindringer, udvalgte publikationer og udførlig bibliografi
 Syracuse University web-sted for Brinch Hansen
 Det danske Datamuseum (tidlige udgivelser af Brinch Hansen)

Interne henvisninger/sprogforklaringer 
Af hensyn til forståelsen af visse begreber, personer og steder, der pt. ikke er at finde på den danske wikipedia, henvises her til den engelsksprogde wikipedia
 Parallelprogrammering → :en:Concurrent programming language
 Æresprofessor → distinguished professor

Dataloger fra Danmark
Programmører fra Danmark
Professorer fra Københavns Universitet
Alumni fra Danmarks Tekniske Universitet