The writings collected in this volume are the results of forty years of efforts of trying to understand what computing is about, how computing may or will influence the lives of people, and how computing should best be handled in human enterprises and in education.
Understanding is a key issue in these writings. This orientation has appeared to me increasingly urgent in a field that is remarkable for its feats of design and construction of active devices of hitherto unheard of complexity and effectiveness. Indeed, there is a strong tendency that the constructions of the field are accepted as ultimately significant merely by their existence, while studies directed toward a better understanding of their properties and wider contextual significance are neglected.
In these writings this tendency is opposed by a predominantly empirical and analytic approach. The items taken up for analysis cover a wide range, including the activity of construction of computer programs, program supporting formalizations, and general issues of argumentation and language. The collection includes a section having empirical in its title. However, the attitude thus identified is found much more widely in the writings. It manifests itself in one direction in an interest in and active concern and respect for the direct experience as gained by the individual person, whether that person is a student, a colleague, or the author.
In another direction the empirical attitude manifests itself in close, detailed analyses of the work of others, such as that of Alan Turing, and that of authors arguing for the use of formal modes of expression.
The title of the selection, ComputingA Human Activity, was chosen quite late in the planning of it, but has appeared to me more and more apt as I have continued to work on its publication. It does in fact run like an underlying current of these writings that whatever aspect of computing is taken up for discussion, as I see it the proper understanding is predominantly a matter of human beings and their activity. A major result of the studies of the collection is a demonstration of the extent to which a careful analysis of the issues of computing leads to a concern for human issues, whether they are more appropriately denoted psychological or sociological.
This relates to a central issue of understanding: computing, what is it? Our ordinary habits make it easy to talk as though in saying computing we were dealing with something well delimited, an item of a sort. We may be misled by the modes of our language into believing that we here have something just waiting to be described. I consider this to be a misleading idea, the matter is more subtle than that. Instead in these writings I consider computing to be a human activity involving certain human purposes and intents, certain human insights, and certain manmade tools and techniques.
The emergence of this underlying theme of human issues as an afterthought, not as an initiating or guiding idea or program, seems to me significant. It illustrates how the notions or concepts for which we happen to have designations in our language, such as human, are merely derivations, not in any proper sense initiators, of our understanding. Similarly logic derivations are not driving agents but descriptive afterthoughts of our activity. Thus insight or understanding had by a person is here seen as being more than anything a matter of an overall mass of interrelated and mutually supporting issues of kinds of boundless variety. When asked or otherwise provoked to react to some issue, the individual depends on this limitless mass of more or less clearly relevant other issues, such as past experience, verbal formulations, etc. etc. How these issues are brought to bear on the current one is a highly individual matter of intellectual style. With this notion any single item of insight had by a person, any principle, any rule, counts for very little.
Likewise, in order to grasp the ideas, the opinions, the points of view, etc., of another person it is not sufficient, or even necessary, to understand or accept a definite set of themes or notions. Rather, what is required is that we are exposed to a full and varied expression of that person, related to many different issues of concern. By being thus exposed we may hope to recognize how the patterns of the other persons ideas, opinions, points of view, partly match, partly extend those we have ourselves already. This manner of gaining insight into and learning from another person may well be a slow development, requiring repeated readings of the persons writings and months or years of digestion.
For this reason what is gratifying to me, more than anything, in presenting this publication, is the opportunity to present my writings over a wide range of topics in one place. This will for the first time offer a wide readership the opportunity to see the connections, the relations of mutual support, between my different contributions produced at various times. Indeed, for the readers understanding there is no way around an extensive reading, giving the opportunity to see many different issues as manifestations of certain common themes. Just presenting brief statements of the themes would be a distortion, the themes only emerge through their concrete expression in particular cases.
In another dimension the collection displays the mutually supporting relations of several different aspects of understanding, such as technical, linguistic, psychological, sociological, and philosophical. Thus the collection as a whole supports my deep conviction, that these diverse designations identify no essential subdivisions of human insight, but merely divisions of academic departments, and that understanding necessarily has to embrace all of them.
In their search for adequate understanding, it is inevitable that the writings tend to deal with conflicts and what I see as misunderstandings. One such area related to computing is what I tend to call dogmatic optimism with regard to constructive endeavors. This is the assumption that any construction that may be called a tool or a method, merely by being called so is guaranteed to be useful or helpful to human beings, without having been systematically tested for its usefulness. Thus any programming or system development method or formal methodology in itself is supposed to be a positive help to the programmer, and any software tool in itself is supposed to be a help to the computer user. And ultimately any view of man inspired by or modelled on the supreme tool, the computer, is supposed to be inherently helpful and right.
As I see it, dogmatic optimism accounts for much frustration and failure related to computing. Matters are not so simple. The computers are useful, yes, they have been so since the first day they were put into operation, around 1950, but they are not unconditionally so. And specifically, as a model or paradigm of our understanding of man, the computer is not merely worthless but harmful, by blinding us to how and what we are.
Other sides of what I see as problematic or misunderstood issues relate to what one may label the lure of words. This is the tendency to get carried away by the ordinary words, and to let the words suggest issues that are not really there. One typical example is the use of the word knowledge in recent computer work. The very word knowledge, being a noun in the grammatical sense, suggests that knowledge is something, some substance, had by people. Then it follows immediately that this something may be represented in our computers, and we have knowledge representations. The lure of words has been known by many thoughtful people, including Otto Jespersen, the linguist, and William James and Gilbert Ryle, the philosophers. The matter comes up in many of the present writings, thus in section 8.6 Causes and Human Expectations and Intent. In section 8.7 Human Knowing... I avoid the word knowledge, talking instead of human knowing, an activity. The matter is dealt with more systematically in section 8.4 Programming Languages Are Not Languages.
A specially prominent area of the lure of words is the one surrounding such words as science, mathematical, and physics. In the young and immature field of computing this allurement combines with that curious phenomenon, the urge of the computer scientists to emulate the work of other fields. The computer scientist wants to be as formal as the mathematician, as scientific as the physicist, and as methodical as the epistemologist. And in his striving in these directions he appears to be guided mostly by his second hand misconceptions of these other fields. To someone like myself, who has a background experience of active theoretical and empirical research in one branch of science, astronomy, it is appalling to observe the naive misunderstandings among computer people about other fields and the widespread failure to appreciate the difference between, on the one hand, the useful insights established in the various scientific fields, including the awareness of the limitations of the applicability of these insights, and, on the other hand, the fanciful, metaphysical superpositions so commonly made upon these insights. Part of the difficulty is that such metaphysical superpositions have been presented and discussed fervently even by the greatest scientists, such as Albert Einstein and Niels Bohr. For several years I have been collecting notes for an essay about this question, under the title The Metaphysics of Constructed Models. A short passage from this collection has been included here in section 8.6 Causes and Human Expectation and Intent. Other related questions are discussed in section 1.5 Computing and the SoCalled Foundations of the SoCalled Sciences.
The misleading metaphysical superpositions made upon the traditional sciences are closely related to another issue taken up in these writings, to wit, the strong tendency in the modern Western World to insist that all important human insight can be reduced to principles or rules. This tendency is found everywhere, not only in academic studies and educations but in all kinds of fields and activities. The tendency is often supported by the claim that this approach is scientific, or is supported by science, or even that this is all that science is about. I find it urgently needed to oppose this tendency which I consider to be rooted in deep misunderstanding and to be detrimental to the utilization of both computing and scientific insight in society. Discussions related to this issue will be found particularly among my later writings, such as section 7.5 The Place of Strictly Defined Notation in Human Insight from 1989 and 1.5 Computing and the SoCalled Foundations of the SoCalled Sciences from 1990.
As a counter to the widespread stress on rules and principles, the present writings include a number of constructive contributions, particularly in the areas of programming techniques and of programming language processors. In these presentations the constructions are presented primarily in their contexts of applications, with discussions of their properties of actual use. In this manner the presentations lend themselves directly to their use in education, as support of a style of education which makes, not rules and principles but the experience had by the students the primary issue. Thus from one point of view the writings of this collection are arguments in the discussion about education. Put crudely, should the education about the meaning of computing be allowed to become a selfsufficient, sterile game with formal items, or should it be made into an activity which will offer the students some genuine experience about the relation of computing to issues of the human world? I have been working and arguing for the second approach, and the writings of this collection, particularly section 4, will testify how.
In preparing these writings for the present publication I have received extensive personal support from many people, given in a spirit of friendliness for which I wish to express my warmest gratitude. Erik Juel Andersen, Klaus Albeck Andersen, Christian Bastlund, Farzin Dadsetan, Vibe Gedsø Frøkjær, Lisbeth Jacobsen, Pablo Tómas Jensen, Werner Knudsen, Anders Lassen, Jens A. Lassen, Randi Løvgreen, Hans Jacob Møller, Finn Sommer Pedersen, Jørn Poulsen, Henrik Ranch, Per Junker Thiesgaard, Sju G. Thorup, and Lisa Wiese, students, secretaries, and associates of Datalogisk Institute, Copenhagen University, have given of their time and skill, mostly on a purely voluntary basis, in transcribing the original texts.
Bo HolstChristensen, Flemming Sørensen, and other members of the staff of the EDPsection of DIKU, have helped in the further processing of the texts and in the use of the equipment. DIKU has given support by giving me free access to the use of text processing and computing equipment.
Birthe Hougaard of the DIKU library has helped to obtain numerous sources of the literature.
My two sons, Jesper and Thorkil, have both read the entire manuscript text and have helped to improve it in countless respects.
John Backus, OleJohan Dahl, CarlErik Fröberg, Christian Gram, Sten Henriksson, Donald Knuth, Lars Mathiassen, and Maurice Wilkes, have given support by their remarks on the draft manuscript.
I further wish to express my gratitude to Peter Wegner, EditorinChief of ACM Press Books, and Peter Gordon, Publishing Partner Computer Science, AddisonWesley Publishing Co., for their immediate acceptance and support of the publication.
Finally I wish to record my quite special indebtedness to Edda Sveinsdottir and Erik Frøkjær. It was they who conceived the idea of a collection of this kind, who made the selection, who with their enthusiasm convinced me that the idea was justified, who found the right publisher, and who continued to take upon themselves the thousand menial tasks that went into carrying the idea through. That this book has come into being is due largely to their immense support and encouragement.
Gentofte, 1990 November 15 --- Peter Naur