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.Fri download: Operating system principles. January 1973. Per Brinch Hansen
thumb|150px|Per Brinch Hansen. 1990. Washington, DC 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.Fri download: The architecture of concurrent programs. January 1977. Per Brinch Hansen
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 thumb|150px|Per Brinch Hansen. 1975. Taj Mahal
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. thumb|150px|Per Brinch Hansen. 1967. Regnecentralen
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 thumb|150px|Per Brinch Hansen. 1959. stud. polyt.
Bibliografi Bøger Operating System Principles 1973 The Architecture of Concurrent Programs 1977 Programming a Personal Computer 1983Programming a Personal Computer. May 1983. Per Brinch Hansen Brinch Hansen on Pascal Compilers 1985Brinch Hansen on Pascal Compilers. August 1985. Per Brinch Hansen Studies in Computational Science: Parallel Programming Paradigms 1995Studies in computational science : parallel programming paradigms. 1995. Per Brinch Hansen (Hans begreb Programming Paradigms svarer til design patterns) The Search for Simplicity: Essays in Parallel Programming 1996The search for simplicity : essays in parallel programming. 1996. Per Brinch Hansen Programming for Everyone in Java 1999Programming for Everyone in Java. 1999. Per Brinch Hansen Classic Operating Systems: From Batch Processing to Distributed Systems (redaktør) 2001Classic operating systems : from batch processing to distributed systems. 2001. Per Brinch Hansen (redaktør) The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls (redaktør) 2002The origin of concurrent programming : from semaphores to remote procedure calls. 2002. Per Brinch Hansen (redaktør) A Programmer's Story: The Life of a Computer Pioneer 2004.Fri download: A Programmer's Story: The Life of a Computer Pioneer. 2004. Per Brinch Hansen
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 engelsksprogede wikipedia Parallelprogrammering → :en:Concurrent programming language Æresprofessor → distinguished professor
Kategori:Dataloger fra Danmark Kategori:Programmører fra Danmark Kategori:Professorer fra Københavns Universitet Kategori:Alumni fra Danmarks Tekniske Universitet