Software Development and Reality Construction
Total Page:16
File Type:pdf, Size:1020Kb
M Christiane Floyd Heinz Zulligho¨ ven Reinhard Budde Reinhard Keil-Slawik (eds.) Software Development and Reality Construction With contributions by Klaus Amann, Gro Bjerknes, Rodney M. Burstall, Rafael Capurro, John M. Carroll, Wolfgang Coy, Bo Dahlbom, Wolfgang Dzida, Heinz von Foerster, Klaus Fuchs-Kittowski, Dafydd Gibbon, Joseph A. Goguen, Thomas F. Gordon, Pentti Kerola, Heinz K. Klein, Donald E. Knuth, Klaus-Peter L¨ohr, Kalle Lyytinen, Susanne Maaß, Markku Nurminen, Kristen Nygaard, Horst Oberquelle, Arne Raeithel, Fanny-Michaela Reisin, Douglas T. Ross, Dirk Siefkes, Jouini Simil¨a, Walter Volpert With illustrations by Claudia Weiler-Kuhn¨ Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest 1991 Preface The present book is based on the conference Software Development and Reality Construction held at Schloß Eringerfeld in Germany, September 25 { 30, 1988. This was organized by the Technical University of Berlin (TUB) in cooperation with the German National Research Center for Computer Science (GMD), Sankt Augustin, and sponsored by the Volkswagen Foundation whose financial support we gratefully acknowledge. The conference was an interdisciplinary scientific and cultural event aimed at promoting discussion on the nature of computer science as a scientific discipline and on the theoretical foundations and systemic practice required for human-oriented system design. In keeping with the conversational style of the conference, the book comprises a series of individual contributions, arranged so as to form a coherent whole. Some authors reflect on their practice in computer science and system design. Others start from approaches developed in the humanities and the social sciences for understanding human learning and creativity, individual and cooperative work, and the interrelation between technology and organizations. Thus, each contribution makes its specific point and can be read on its own merit. But, at the same time, it takes its place as a chapter in the book, along with all the other contributions, to give what seemed to us a meaningful overall line of argumentation. This required careful editorial coordination, and we are grateful to all the authors for bearing with us throughout the slow genesis of the book and for complying with our requests for extensive revision of some of the manuscripts. The way the book evolved also made great demands on everyone engaged in its production. We are especially indebted to the following persons whose commitment and excellent work enabled the book to be brought to a successful conclusion: Claudia Weiler-Kuhn¨ , our illustrator, who was willing to devote her time and attention to understanding our abstract ways of thinking; Philip Bacon, who translated or polished up many of the texts written by non-native authors; Daniela Wegge, who compiled a significant portion of the bibliography; Doris F¨ahndrich, who coordinated production of the book. She created the technical environment based on LATEX and eventually assumed sole responsibility for the layout of the text as a whole. The extraordinary care and patience she showed here have greatly contributed to the overall quality of the book. Finally, we would like to thank Hans W¨ossner of the Springer Verlag who went to considerable lengths to accommodate our rather unconventional ideas concerning the book's design. Christiane Floyd, Reinhard Keil-Slawik Technische Universit¨at Berlin (TUB) Reinhard Budde, Heinz Zulligho¨ ven Gesellschaft fur¨ Mathematik und Datenverarbeitung (GMD) Berlin and Sankt Augustin, August 1991 Table of Contents Prologue : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1 Thinking about Computer Science : : : : : : : : : : : : 11 1.1 Human Questions in Computer Science Christiane Floyd . 15 1.2 Learning from our Errors Donald E. Knuth . 28 2 Living Computer Science : : : : : : : : : : : : : : : : : : : 31 2.1 The Technical and the Human Side of Computer Science Klaus-Peter L¨ohr . 35 2.2 Hermeneutics and Path Joseph A. Goguen . 39 2.3 Computing: Yet Another Reality Construction Rodney M. Burstall . 45 2.4 How Many Choices Do We Make? How Many Are Difficult? Kristen Nygaard . 52 2.5 From Scientific Practice to Epistemological Discovery Douglas T. Ross . 60 3 On Reality Construction : : : : : : : : : : : : : : : : : : : : 71 3.1 Self-Organization and Software Development Heinz von Foerster and Christiane Floyd . 75 3.2 Software Development as Reality Construction Christiane Floyd . 86 3.3 The Idea that Reality is Socially Constructed Bo Dahlbom . 101 VIII Table of Contents 4 Learning to Know : : : : : : : : : : : : : : : : : : : : : : : : : 127 4.1 Scientific Expertise as a Social Process Klaus Amann . 131 4.2 How to Communicate Proofs or Programs Dirk Siefkes . 140 4.3 Making Errors, Making Sense, Making Use John M. Carroll . 155 4.4 Artifacts in Software Design Reinhard Keil-Slawik . 168 5 Computer Science and Beyond : : : : : : : : : : : : : : : 189 5.1 The Denial of Error Joseph A. Goguen . 193 5.2 Towards a New Understanding of Data Modelling Heinz K. Klein and Kalle Lyytinen . 203 5.3 A Reappraisal of Information Science Pentti Kerola and Jouni Simil¨a . 220 6 Understanding the Computer through Metaphors : 229 6.1 Perspectives and Metaphors for Human-Computer Interaction Susanne Maaß and Horst Oberquelle . 233 6.2 Software Tools in a Programming Workshop Reinhard Budde and Heinz Zul¨ lighoven . 252 6.3 Soft Engines { Mass-Produced Software for Working People? Wolfgang Coy . 269 6.4 Artificial Intelligence: A Hermeneutic Defense Thomas F. Gordon . 280 7 Designing for People : : : : : : : : : : : : : : : : : : : : : : : 291 7.1 Shared Responsibility: A Field of Tension Gro Bjerknes . 295 7.2 A Subject-Oriented Approach to Information Systems Markku I. Nurminen . 302 Table of Contents IX 7.3 Anticipating Reality Construction Fanny-Michaela Reisin . 312 7.4 On Controllability Wolfgang Dzida . 326 7.5 Work Design for Human Development Walter Volpert . 336 8 Epistemological Approaches to Informatics : : : : : : 349 8.1 Truth and Meaning beyond Formalism Joseph A. Goguen . 353 8.2 Informatics and Hermeneutics Rafael Capurro . 363 8.3 Language and Software, or: Fritzl's Quest Dafydd Gibbon . 376 8.4 Activity Theory as a Foundation for Design Arne Raeithel . 391 8.5 Reflections on the Essence of Information Klaus Fuchs-Kittowski . 416 Epilogue : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 433 Bibliography : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 445 List of Authors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 474 Prologue Prologue 3 Proscenium A stage. The curtain is down. Christiane emerges from behind the curtain. She is carrying this book in her hand. Christiane This is a book about human questions in computer science. Questions such as: What are we actually doing in our work? What assumptions do we rely on? What claims can we really meet? How do we view human beings in relation to computers? What is the impact of the computer in use? How can we promote quality? What kind of social changes do we bring about? To what extent is information technology conducive to human development? The authors of this book share the conviction that a deeper understanding of these issues is essential for guiding responsible action in science and design. In working on this book, we have proceeded from the assumption that there can be no single theoretical framework providing answers to the set of the questions raised above. All of us approach them from our own perspectives, shaped by our experience in life, by our work and through our interaction with others. We realize that even the way we select and formulate our ques- tions reflects our particular perspective, while you, the reader, proceed from yours. We would like to encourage you to pursue your own questions and to promote discussions in your own personal context. Heinz ( joins her.) This is a book about our parts in a play. A play in which there are many actors. A play about science and software development. Let us take a look behind the scenes to see the way this play is staged and the effects and illusions that are created during its performance. And you, the reader of our book, shall not only be the spectator { cut off from the action by an imaginary \fourth wall" and embarking on this book as if merely watching our play. Instead, it is our intention to involve you in the development of the book and show you how the play evolved. It all began with Christiane and me giving a joint seminar. 4 Prologue The Small Bang The curtain rises. January 1987. A seminar room at the Technical University of Berlin. Students sitting at tables. One of them is standing and appears to be speak- ing to the rest. Christiane and Heinz sit down at a table in the corner. Christiane It was a seminar on Evolutionary Methods of Software Development. But we wanted to go beyond the traditional approaches. Thus it came about that one of the students was giving a paper on constructivist ideas. While listening { not very attentively { we wrote little notes to each other exploring the possibility of organizing a conference on the epistemological foundations of software development. To be precise, I wrote a note to Heinz asking if he and his colleague Reinhard Budde would organize such a conference. Heinz I should never have ventured on a project of this sort without the support of my old friend Reinhard. Luckily, he agreed to join in. Christiane As for me, it was clear from the start that I would ask