Tag Archives: software

Computing as Science and Practice

And the good books keep on coming…

In the current issue of Science, I review Histories of Computing, a collection of the late Princeton historian Michael Mahoney’s essays on the history of software, edited by Tom Haigh for Harvard University Press.  Mahoney was one of the intellectual giants of the history of computing.  I studied with him in graduate school, and he was a friend and colleague for many years afterward.

Cybernetic Revolutionaries

Always on the lookout for good books dealing with the history of computing, I was pleased to see this week the announcement of Eden Medina’s new book, Cybernetic Revolutionaries: Technology and Politics in Allende’s Chile (MIT Press, 2011).  Not only does Eden happen to be a friend of mine, but her book is a welcome addition to the literature on the history of computing, which has generally been focused almost exclusively on the United States (with the occasional recognition of developments in Europe) and on technologies rather than users.  Medina’s “cybernetic revolutionaries” are a very different group from the “computer boys” that I focus on (although they share similar characteristics and agendas).  Medina’s subjects are the cyberneticians and government officials who imagined, in the context of Salvadore Allende’s socialist Chile, a far-seeing and -reaching computer system that would monitor and manage that nation’s entire economy.  Although the system, called Project Cybersyn, was never fully implemented, it represents in many ways the apotheosis of a particular vision of the electronic computer as the ultimate cybernetic system.

For those of you unfamiliar with the concept, cybernetics is possible the most important science that you have never heard of.   The word itself has larger disappeared from public discourse (at least in the United States) but its influence remains strong in a range of scientific disciplines from ecology to molecular biology to economics to psychology.

To give just a small sense of what Cybernetic Revolutionaries is trying to accomplish, take a look at a recent post on the MIT Press blog in which Medina draws a parallel between the socialist utopian vision of Project Cybersyn and the roughly contemporary television series Star Trek.  “Like ‘Star Trek,’ Medina argues, “Project Cybersyn brought together technology and politics to advance a utopian vision of a just society.”  It is clear that, for many computer revolutionaries, “computerization” was not just a technological project, but also ideological. For many American corporations in the 1950s and 1960s, for example, computerization was about centralization.  In Allende’s Chile, the ideological dimensions of computerization appear to have been much more complex.  More recently, computerization is associated with democratization, or liberalization, or the perpetuation of free-market ideology.   The clear and close relationship between technology and ideology is only beginning to be explored by historians.

What makes software hard?

A couple of years ago I wrote an essay for the IEEE Annals of the History of Computing entitled “Software as History Embodied” in which I addressed the tongue-in-cheek question, first posed by the Princeton historian Michael Mahoney, of “what makes the history of software so hard?” Mahoney himself, of course, was playing on an even earlier question asked by numerous computer programmers, including the illustrious Donald Knuth. In my essay, I focused specifically on the challenges associated with software maintenance, a long-standing and perplexing problem within the software industry (one made all the more complicated by the fact that, in theory at least, software is a technology that should never be broken – at least in the tradition sense of wearing out or breaking down). My answer to Mahoney’s question was that the history of software was so hard because software itself was so complicated. Software systems are generally deeply embedded in a larger social, economic, and organizational context. Unlike hardware, which is almost by definition a tangible “thing” that can readily be isolated, identified, and evaluated, software is inextricably intertwined with the larger socio-technical system of computing that includes machines (computers and their associated peripherals), people (users, designers, and developers), and processes (the corporate payroll system, for example). Software, I argued, is not just an isolated artifact; software is “history, organization, and social relationships made tangible.”

In any case, I was tickled this past week to discover in my archives an early example of one of my “computer people” asking the question “what makes software so hard.” The article is from 1965, and was published in Datamation. The author is Frank L. Lambert, about who I know very little, other than that he was the head of the software group for the Air Force. What I like most about this piece is the way in which Lambert adopts a broad understanding of software. “Software … is the total set of programs” used to extend the capabilities of the computer, and the “totality of [the] system” included “men, equipment, and time.” Like so many of his contemporaries, Lambert saw software as a complex, heterogeneous system. “What made software so hard?,” Lambert asked rhetorically: “Everything.”