Per Brinch Hansen
Per Brinch Hansen | |
---|---|
Personlig information | |
Født | 13. november 1938 Frederiksberg, Danmark |
Død | 31. juli 2007 (68 år) Syracuse, New York, USA |
Dødsårsag | Kræft |
Far | Jørgen Brinch Hansen |
Uddannelse og virke | |
Uddannelsessted | Danmarks Tekniske Universitet, Skt. Jørgens Gymnasium |
Elev af | Peter Naur |
Medlem af | The Institute of Electrical and Electronics Engineers |
Beskæftigelse | Universitetsunderviser, ingeniør, datalog |
Fagområde | Datalogi |
Arbejdsgiver | California Institute of Technology (1972-1976), Københavns Universitet (1984-1987), Carnegie Mellon University (1970-1972), University of Southern California (1976-1984), Syracuse University (1987-2007), Regnecentralen (1963-1970) |
Nomineringer og priser | |
Udmærkelser | IEEE Fellow, Computer Pioneer Award (2002) |
Information med symbolet hentes fra Wikidata. Kildehenvisninger foreligger sammesteds. |
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.[1]
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.[2]
I de seneste år dokumenterede Brinch Hansen den historiske udvikling inden for disse centrale emner.
Uddannelse
[redigér | rediger kildetekst]- 1957 Studentereksamen, St. Jørgens Gymnasium, Frederiksberg
- 1963 Civilingeniør inden for elektronik ved Danmarks Tekniske Universitet
Erhvervsarbejde
[redigér | rediger kildetekst]- 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
[redigér | rediger kildetekst]- 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
[redigér | rediger kildetekst]Bøger
[redigér | rediger kildetekst]- Operating System Principles 1973[1]
- The Architecture of Concurrent Programs 1977[2]
- Programming a Personal Computer 1983[3]
- Brinch Hansen on Pascal Compilers 1985[4]
- Studies in Computational Science: Parallel Programming Paradigms 1995[5] (Hans begreb Programming Paradigms svarer til design patterns)
- The Search for Simplicity: Essays in Parallel Programming 1996[6]
- Programming for Everyone in Java 1999[7]
- Classic Operating Systems: From Batch Processing to Distributed Systems (redaktør) 2001[8]
- The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls (redaktør) 2002[9]
- A Programmer's Story: The Life of a Computer Pioneer 2004.[10]
Udvalgte artikler
[redigér | rediger kildetekst]- 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
[redigér | rediger kildetekst]- 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
[redigér | rediger kildetekst]- ^ a b Fri download: Operating system principles. January 1973. Per Brinch Hansen
- ^ a b Fri download: The architecture of concurrent programs. January 1977. Per Brinch Hansen
- ^ Programming a Personal Computer. May 1983. Per Brinch Hansen
- ^ Brinch Hansen on Pascal Compilers. August 1985. Per Brinch Hansen
- ^ Studies in computational science : parallel programming paradigms. 1995. Per Brinch Hansen
- ^ The search for simplicity : essays in parallel programming. 1996. Per Brinch Hansen
- ^ Programming for Everyone in Java. 1999. Per Brinch Hansen
- ^ Classic 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. 2002. Per Brinch Hansen (redaktør)
- ^ Fri download: A Programmer's Story: The Life of a Computer Pioneer. 2004. Per Brinch Hansen
- 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
[redigér | rediger kildetekst]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