Probing the elephant: how do the parts fit together?

In keeping with the themes and objectives of the conference, the authors of the five main papers attempted to approach software as a whole, each viewing it from a different perspective. The result may seem at first a bit like the proverbial report of a team of blind persons on their tactile investigation of an elephant: depending on the part they touched, it resembled a tree, a snake, a rope, and so on. At least they had an elephant to touch. Here, the authors and their commentators are grappling with a seemingly amorphous object, appropriately called software, which is invisible and intangible, yet produces visible and tangible effects in the world. To have those effects, it must run on hardware, and at a fundamental level it must fit that hardware so precisely as to become indistinguishable from it. Yet, at higher levels of abstraction software has an existence independent of hardware, which indeed has all but disappeared from the view of a large majority of people engaged in computing. Users and producers program virtual machines defined in terms of concepts rather than circuits and reflecting human purposes rather than computer architecture. Software encompasses both the product and the means of that process. That is, one may think in terms of virtual machines because software exists to translate the virtual into the real. Software is thus multilayered, and complexity makes it hard to see through the layers. Depending on where one stands and how one tries to grab hold of it, software assumes a variety of appearances.

[1]  B. Randell,et al.  Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO , 1969 .

[2]  J. von Neumann,et al.  Probabilistic Logic and the Synthesis of Reliable Organisms from Unreliable Components , 1956 .

[3]  David Gries Programming Methodology: A Collection of Articles by Members of IFIP WG 2.3 , 1978 .

[4]  Philip Kraft,et al.  Programmers and Managers: The Routinization of Computer Programming in the United States , 1977 .

[5]  Michael S. Mahoney,et al.  Issues in the History of Computing , 2011, Histories of Computing.

[6]  P. Kraft Programmers and Managers , 1977, Heidelberg Science Library.

[7]  William Aspray,et al.  Papers of John Von Neumann on computing and computer theory, Vol 12 , 1986 .

[8]  N. Macrae John Von Neumann , 1992 .

[9]  Richard L. Wexelblat History of programming languages I , 1978 .

[10]  Ruven E. Brooks,et al.  Studying programmer behavior experimentally: the problems of proper methodology , 1980, CACM.

[11]  Michael A. Cusumano,et al.  Japan's Software Factories: A Challenge to U.S. Management, Michael A. Cusumano. 1991. Oxford University Press, New York, NY. 513 pages. ISBN: 0-19-506216-7 , 1991, The Journal of Asian Studies.

[12]  Michael E. Gorman,et al.  Understanding Invention as a Cognitive Process: The Case of Thomas Edison and Early Motion Pictures, 1888-91 , 1990 .

[13]  H. Braverman Labor and Monopoly Capital: The Degradation of Work in the Twentieth Century , 1996 .