All posts by nathanen

The politics of programming languages

In Chapter 2 (“Tower of Babel”) I discuss the ways in which different programming languages (FORTRAN, COBOL, and ALGOL, among others) embodied different social, organizational, and professional agendas.  Some of this was a reflection of  particular problem domains — FORTRAN was obviously designed for scientific applications, and COBOL for business use.  But more significantly, many languages were intended to discipline what was seen as a unreliable and recalcitrant labor force.  As Fred Gruenberger of the RAND Corporation noted in a 1962 Symposium on Programming Languages, “You know, I’ve never seen a hot dog language come out yet in the last 14 years — beginning with Mrs. Hopper’s A-0 compiler … that didn’t have tied to it the claim in its brochure that this one will eliminate all programmers. The last one we got was just three days ago from General Electric (making the same claim for the G-WIZ compiler) that this one will eliminate programmers. Managers can now do their own programming; engineers can do their own programming, etc. As always, the claim seems to be made that programmers are not needed anymore.”

The notion that programming languages are “artifacts with politics” is a provocative one, and I explore the idea more in my chapter on the Cambrian explosion of programming languages. What follows is an excerpt discussing the gendered nature of many of the advertisements for programming languages that appeared in this period:

In its “Meet Susie Meyers” advertisements for its PL/1 programming language, the IBM Corporation asked its users an obviously rhetorical question: “Can a young girl with no previous programming experience find happiness handling both commercial and scientific applications, without resorting to an assembler language?” The answer, of course, was an enthusiastic “yes!” Although the advertisement promised a “brighter future for your programmers,'”(who would be free to “concentrate more on the job, less on the language”) it also implied a low-cost solution to the labor crisis in software. The subtext of appeals like this was non-too-subtle: If pretty little Susie Meyers, with her spunky miniskirt and utter lack of programming experience, could develop software effectively in PL/1, so could just about anyone.

The actual advertisement was a two-page, full-color extravaganza.

The Job Market for Programmers

Looking at the job advertisements for computer programmers in the early 1960s, it is clear that many programmers were concerned about the future of their profession.   On the one hand, there were many opportunities for horizontal mobility within the profession: an even moderately skilled programmer could readily move from company to company, and had little to fear in terms of long-term unemployment.  On the other hand, it was not clear the programmers had much vertical mobility: for a variety of reasons, programmers were often not seen as being managerial potential.  Many of the advertisements from this period appeal to this sense of frustration and insecurity.  The overall message seemed to be “come work for our company; we will treat you as being more than a mere technician.”

The Well-Dressed Programmer

Of all the sources that I used to construct The Computer Boys, none was as fun or useful as the industry journal Datamation.  Unlike the more academically oriented journals from the ACM, Datamation was unabashedly industry focused.  It also was much more intimate, honest, and above all, humorous.  Throughout the 1960s it included a series of parodies of pop-culture phenomenon.  Here is one of my favorites, The Well-Dressed Programmer:

Click the image for a much larger version.

Programmer Productivity

In an intriguing post entitled Fact and Folklore in Software Engineering, Laurent Bossavit addressed one of the most persistent memes in software development:

One debate (if it can be called that) which has gone on for too long without a satisfactory resolution concerns programmer productivity and the often quoted “observation” or “fact” that the best programmers are 10 times better than the worst. I will come back to the origins of this observation, but it isn’t quite the topic of this article.

As Bossavit rightly notes, this “fact” about programmer productivity has been circulating for decades, acquiring authority via constant repetition.   It is widely cited as evidence for the special genius of the so-called “super-programmer,” whose skills (innate, not acquired) are vastly superior to the merely average programmer.   In my chapters on “The ‘Black Art’ of Programming” and “Chess players, Musicians, and Mathematicians” I devote a fair bit of space to the ways in which the idea that good programmers were “born, not made” played out in the emerging labor market for computer programmers.  The goal was not, of course, to make any empirical claims about programmer performance, but rather to provide a historical context for a debate that has now spanned several decades.

What Bossavit does with this meme is interesting.  Borrowing from the work of Bruno Latour (one of the patron saints of my own academic discipline), he describes the ways in which data from a single, very limited study gradually become a well-established scientific “fact.”  The original study was undertaken at the Systems Development Corporation (SDC) by the personnel researchers Hal Sackman, W.J. Erickson, and E.E. Grant. It was published in 19681.

SDC was the Rand Corporation spin-off charged with developing the systems software for the SAGE air defense project.  Over the course of the late 1950s and early 1960s, SDC trained (or recruited) thousands of computer programmers.  As one point, SDC alone employed more than three-fifths of the programmers in the United States.  They had, therefore, a huge stake in understanding programming expertise.  “We trained the industry,” SDC executives were later fond of saying, and in many respects they were correct; for the next decade, at the very least, any programming department of any size was likely to contain at least two or three SDC alumni.

The 1968 study examined the performance of 12 (!?!) programmers split between two groups.  Each groups worked in a different environment (one “online”, or interactive, another in a simulated “offline” environment) on a debugging task.  It was not really a study of programmer performance per se, but among their other observations Sackman et al. noted “striking differences” in the performance of different  programmers.  The fastest programmers completed the task 28 times faster than the slowest programmers.  The performance of the most efficient program was, on average, 10 times better than that of the least efficient.  From this the authors concluded (borrowing from a familiar nursery rhyme) that “When a programmer is good, he is very, very good. But when he is bad, he is horrid.”  Despite the obvious limits of the 1968 study, the 10x figure quickly became part of the lore of of the industry.

  1.  Sackman, Hal, W.J. Erickson, and E.E. Grant. “Exploratory Experimental Studies Comparing Online and Offline Programming Performance”. In: Communications of the ACM 11.1 (1968), pp. 3–11.