Category Archives: Extras

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.”

Are programmers paranoid?

The notion that computer programmer is not just an occupation but a personality type has a long history.  In 1968 the systems consultant Dick Brandon gave a talk at the ACM National Conference on the “Problem in Perspective” (the problem here being the problem of programming labor, one of the more significant “software crises” of the 1950s and 1960s) in which he described the “Programmer Pysche”:

Although computer programming has not been around long enough for biological inbreeding to be considered a problem, the personality traits of the average programmer almost universally reflect certain negative characteristics.
The average programmer is excessively independent — sometimes to the point of mild paranoia. He is often egocentric, slightly neurotic, and he borders upon a limited schizophrenia. The incidence of beards, sandals, and other symptoms of rugged individualism or nonconformity are notably greater among this demographic group. Stories about programmers and their attitudes and peculiarities are legion, and do not bear repeating here.1.

Although Brandon’s characterizations are at least somewhat tongue in cheek, they were close enough to the reality of common perception to prompt a follow-up study by Dr. Theodore Willoughby of Pennsylvania State University.   Willoughby concluded that programmers taken as a group were not, in fact, either paranoid, schizophrenic, or otherwise psychologically deviant.   Instead, he suggested that such characterizations were a reflection of the “generation gap” (or perhaps “professional identity gap”) between managers and programmers (or what I refer to in The Computer Boys as “organizational territory disputes”).  In any case, it is good to know that, statistically speaker, although your IT Guy might be odd, he is probably not paranoid…

  1.   Dick Brandon, “The Problem in Perspective”, Proceedings of the 1968 23rd ACM National Conference (1968)

RIP Daniel McCracken

The pioneering computer scientists Daniel McCracken passed away yesterday.  Among other things, McCracken wrote one of the first books on computer programming.  McCracken also wrote extensively on computer programming throughout the 1960s.  I know him best through his 1962 Datamation article on “The Software Turmoil,” which was one of the first articulations of the general sense of dissatisfaction with software development that would emerge in the late 1960s as the “Software Crisis.”1.

Throughout his career, McCracken argued that the solution to the burgeoning crisis on software development was in part the pursuit of professionalism within programming.   The following is from another 1961 essay on “The Human Side of Computing”:2.


The training of hordes of newcomers isn’t the whole story, of course.  There are problems in the professional development for those already in the field.  To take one instance, a lot of the present coders will have to become systems analysts in the next few years.  The problem is, how are they supposed to go about learning the new skills required?[p.9]


The difficulty seems to be that systems work is not so much a body of factual knowledge, as an approach to problem solving – and no one knows how to teach the problem solving approach.  All that we seem to be able to do it let the coder work with an experienced systems man, and hope that some of the skills get transferred by osmosis.[p.9-10]


This observer would like to suggest that the attainment of truly professional status for computer people as computer people is only partly a matter of demonstrating mastery of subject matter.  It is also a matter of demonstrating a sense of responsibility and thereby gaining a certain dignity and stature in the public eye.


The historian of computing Arthur Norberg interviewed McCracken for an oral history for the ACM History Committee.

  1.   Daniel McCracken, “The Software Turmoil: Nine Predictions for ’62”, Datamation 8:1 (1962)
  2.   Daniel McCracken, “The Human Side of Computing”, Datamation 7:1 (1961)