Here I have selected close to forty of my one hundred publications. Written over a period of forty years, these essays document the technical aspects of my life in computer programming. Most of them are mentioned in my autobiography, A Programmer's Story.
You can read, print, or download individual papers in PDF format by clicking on the publication years. A footnote on the title page of each paper gives full credit to the publication in which the work first appeared, including the name of the copyright holder.
1966a | The Cobol compiler for the Siemens 3003 |
|
1966b | Design considerations for the RC 4000 computer |
|
1967a | The logical structure of the RC 4000 computer |
|
1967b | The RC 4000 real-time control system at Pulawy |
|
1969a | RC 4000 Software: Multiprogramming System (abridged) |
|
1969b | RC 4000 Computer: Reference Manual |
|
1969c | RC 4000 Software: Multiprogramming System (complete) |
|
1970a | The nucleus of a multiprogramming system |
|
1971a | An outline of a course on operating system principles |
|
1972a | Structured multiprogramming |
|
1973b | Shared classes |
|
1973c | Testing a multiprogramming system |
|
1975a | The programming language Concurrent Pascal |
|
1976b | The Solo operating system: A Concurrent Pascal program |
|
1976c | The Solo operating system: Processes, monitors, and classes |
|
1976e | The programmer as a young dog |
|
1977a | Experience with modular concurrent programming |
|
1977c | Design principles |
|
1977d | Network---A multiprocessor program |
|
1978a | Distributed processes: A concurrent programming concept |
|
1978b | Reproducible testing of monitors |
|
1978c | A keynote address on concurrent programming |
|
1981b | The design of Edison |
|
1987a | Joyce---A programming language for distributed systems |
|
1989a | A multiprocessor implementation of Joyce |
|
1989b | The nature of parallel programming |
|
1989c | The Joyce Language Report |
|
1990a | The linear search rediscovered |
|
1992a | Householder reduction of linear equations |
|
1993a | Monitors and Concurrent Pascal: A personal history |
|
1993b | Model programs for computational science |
|
1993c | Parallel cellular automata |
|
1994b | Multiple-length division revisited |
|
1994c | SuperPascal---A publication language |
|
1994d | Interference control in SuperPascal |
|
1995c | Efficient parallel recursion |
|
1995d | The all-pairs pipeline |
|
1995e | Balancing a pipeline |
|
1999b | Java's insecure parallelism |
|
2001b | The evolution of operating systems |
|
2002b | The invention of concurrent programming |