A Programmer's Story. the Life of a Computer Pioneer
Total Page:16
File Type:pdf, Size:1020Kb
A PROGRAMMER’S STORY The Life of a Computer Pioneer PER BRINCH HANSEN FOR CHARLES HAYDEN Copyright c 2004 by Per Brinch Hansen. All rights reserved. Per Brinch Hansen 5070 Pine Valley Drive, Fayetteville, NY 13066, USA CONTENTS Acknowledgments v 1 Learning to Read and Write 1938–57 1 Nobody ever writes two books – My parents – Hitler occupies Denmark – Talking in kindergarten – A visionary teacher – The class newspaper – “The topic” – An elite high school – Variety of teachers – Chemical experiments – Playing tennis with a champion – Listening to jazz – “Ulysses” and other novels. 2 Choosing a Career 1957–63 17 Advice from a professor – Technical University of Denmark – rsted’s inuence – Distant professors – Easter brew – Fired for being late – International exchange student – Masers and lasers – Radio talk — Graduation trip to Yugoslavia – An attractive tourist guide – Master of Science – Professional goals. 3 Learning from the Masters 1963–66 35 Regnecentralen – Algol 60 – Peter Naur and Jrn Jensen – Dask and Gier Algol – The mysterious Cobol 61 report – I join the compiler group – Playing roulette at Marienlyst resort – Jump- starting Siemens Cobol at Mogenstrup Inn – Negotiating salary – Compiler testing in Munich – Naur and Dijkstra smile in Stock- holm – The Cobol compiler is nished – Milena and I are married in Slovenia. 4 Young Man in a Hurr 1966–70 59 Naur’s vision of datalogy – Architect of the RC 4000 computer – Programming a real-time system – Working with Henning Isaks- son, Peter Kraft, and Charles Simonyi – Edsger Dijkstra’s inu- ence – Head of software development – Risking my future at Hotel Marina – The RC 4000 multiprogramming system – I meet Edsger Dijkstra, Niklaus Wirth, and Tony Hoare – The genius of Niels Ivar Bech. 5 Shaping a New Field 1970–72 81 Alan Perlis invites me to spend a year at Carnegie-Mellon – Emi- gration to America – Niklaus Wirth denes Pascal – Driving home in a blizzard – Discussing the future of concurrent programming in Marktoberdorf and Belfast – Alan Perlis tells stories – Mad King Ludwig and Thomas Edison – The rst modern book on Operating System Principles. iii iv Contents 6 Inventing the Future 1972–76 103 Can you tell me, what is Caltech? – Sunshine and palm trees in February – Wine-tasting with the dean – Driving across America – A question of priority – Two baing problems – That sounds easy – Concurrent Pascal and Solo – Al Hartmann’s compiler – The art of compromise – Getting a sore throat in Bombay – Returning to Marktoberdorf – The distraction of grants – Leaving the magic kingdom – A passion for clear thinking. 7 The End of an Era 1976–84 131 The legendary Zohrab Kaprielian – Football game at the Rose Bowl – Creating a top department at USC – How Harvard grants tenure – The rst book on concurrent programming – Doctor tech- nices – Surviving the executive vice president – Designing the Edison multiprocessor for Mostek – United Technologies kills the project – Let no man complain to me – Brush re and mud slides in Altadena – Magical simplicity – What we achieved. 8 Danish Interlude 1984–87 153 Student democracy and teaching in Denmark – Danish industry uses Concurrent Pascal – Consulting for GN Corporation – Rock- ing the boat. 9 Back in America 1987–2004 163 Distinguished professor at Syracuse – Birthday celebration in the former Danish West Indies – Becoming an American citizen – Par- allel scientic computing–Apersonal supercomputer – Parallel cryptography – History of programming languages – The Com- puter Pioneer Award – Final words. Sources 181 Index 189 ACKNOWLEDGMENTS For helpful comments on my story, I thank Len Adleman, Birger Andersen, Sven Eriksen, Jon Fellows, Nissim Francez, Steve Goings, Sol Golomb, Christian Gram, Jonathan Greeneld, Al Hartmann, Nils Havsteen, Charles Hayden, Niels Zeuthen Heidam, Giorgio Ingargiola, Henning Isaksson, Konrad Jahn, Jrn Jensen, Anita Jones, Peter Kraft, Paul Lindgreen, Aage Melbye, Peter Naur, Brge Ring, Charles Simonyi, Leif Svalgaard, Fred Thompson, Villy Toft, Peter Villemoes, Paul Wal- tenburg, and Bill Wulf. My special thanks go to Charles Hayden, who helped me publish this book on the internet, and Jim Horning, who read all the chapters. And to Brge Ring for translating excerpts from a Dutch trip report by Edsger Dijkstra. I am grateful for permission to quote from the following material: The personal letters of Jonathan Fellows, Steve Goings, Al Hartmann, Charles Hayden, Jim Horning, Giorgio Ingargiola, Anil Menon, Villy Toft, Niklaus Wirth, and Tom Zepko. Klasseavisen (“The class newspaper”) 1945–45, Konrad Jahn’s class at Niels Ebbesensvej School, Frederiksberg, Denmark. (Excerpts translated from Danish by Per Brinch Hansen.) E. W. Dijkstra, EWD316A, Reisverslag van Edsger W. Dijkstra aan Summer School, Marktoberdorf, juli 1971 (in Dutch). c 1971 by Maria C. Dijkstra-Debets. (Excerpts translated from Dutch by Brge Ring and Per Brinch Hansen.) R. A. Maddux and H. D. Mills, Review of Per Brinch Hansen: The Architecture of Con- current Programs. IEEE Computer 12, (May 1979), 102–103. c 1979 IEEE. P. Naur, Review of Per Brinch Hansen: Operating System Principles. BIT 15, 1975, 455–457. c 1975 by BIT. P. Naur, Notes for the ocial defense of Per Brinch Hansen’s Dr. technices thesis at the Technical University of Denmark, January 23, 1978. (Excerpts translated from Danish by Per Brinch Hansen.) P. Naur, Unpublished review of Per Brinch Hansen: Programming a Personal Computer, 1984. A. J. Perlis, Talk on “Computing in the fties.” ACM National Conference. Nashville, TN, 1981. Transcript in J. A. N. Lee (ed.), Computer Pioneers, IEEE Computer Society Press, Los Alamito, CA, 1995, 545–556. c 1995 IEEE. PER BRINCH HANSEN Syracuse University v 1 LEARNING TO READ AND WRITE 1938–57 Nobody ever writes two books – My parents – Hitler occupies Denmark – Talking in kindergarten – A visionary teacher – The class newspaper – “The topic” – An elite high school – Variety of teachers – Chemical experiments – Playing tennis with a champion – Listening to jazz – “Ulysses” and other novels. Walking home from a Caltech party in the 1970s, I told Don Knuth that I was working on my second book. He turned to me and said “Nobody ever writes two books!” I should know—this is is my tenth book. It tells the story of my professional life and my impressions of the birth of modern programming with anecdotes about software pioneers I have known. As a student of electrical engineering, I dreamt of making fundamental contributions to a new eld. In 1963, I graduated from the Technical Uni- versity of Denmark without any programming experience—it was not yet being taught. There were, as far as I remember, no textbooks available on programming languages, compilers or operating systems. That was my main reason for choosing to work in computing! Over the next forty years I worked as a systems programmer in Denmark and a computer scientist in America. I witnessed computer programming change from an amateur activity into something resembling an engineer- ing discipline, and was fortunate to contribute to the early development of operating systems and concurrent programming. In this autobiography, I trace my school years, engineering studies, and the beginning of my career in Denmark. And I recount my exciting and frus- trating years as a researcher at Carnegie-Mellon, Caltech, USC, University of Copenhagen, and Syracuse University. I wrote the book for fun. I assume you know how to use a computer and are interested in programming. My story is mostly told in nontechnical detail. In a few places, where the story gets a bit technical, I explain the gist of the ideas. Copyright c 2004 by Per Brinch Hansen. 1 2 A Programmer’s Story ??? You may well wonder why I describe my school days in a book about my professional life. Well, over the years, I have learned that, besides intellect, the most valuable asset of a programmer is the ability to write clearly. Need- less to say, I wasn’t born with a talent for writing well. But, thanks to my teachers, I learned to write nontrivial essays in elementary school through high school. Now, if you don’t write really well when you graduate from high school, you probably never will. Since I consider my writing skills to be far more important than my engineering background, I will begin my story by telling you how I learned to read and write. After half a century, the memories of my childhood and youth are nat- urally somewhat fragmentary. And, like your life, mine did not follow a coherent script. I must also confess that some of my more “random” im- pressions are included simply because I nd them amusing—as I hope you will too. My parents, Jrgen Brinch Hansen and Elsebeth (nee Ring), lived in Frederiksberg, a suburb of Copenhagen, Denmark. I was born on Novem- ber 13, 1938, and nicknamed “Busser” after a popular cartoon character. (Americans know him as Blondie’s husband Dagwood.) My mother was the daughter of the Danish composer Oluf Ring. She was a charming, vivacious woman with a beautiful smile. Before marrying my father she worked in one of the best hairdressing salons in Copenhagen. On pictures from my childhood she is always well dressed and, even on the beach, her hairstyle looks perfect. When I was little, she liked to go shopping in the center of Copenhagen with me dressed in my best. I would rather have stayed at home playing with friends, but that was not an option. When the neighbors complained about me (as they often did) my mother would try to hide it from my father. This was, however, impossible on the occasion when I threw a cobblestone through a basement window across the street. What a lovely sound that was! When my father heard about it (and the repair costs) he spanked me and sent me to bed without dinner. When that happened, my mother would usually sneak a sandwich into my bedroom.