Writing & research on the history of computing
Exploring the history of computer science and programming languages
Articles
“A Compelling Image: The Tower of Babel and the Proliferation of Programming Languages During the 1960s”, IEEE Annals of the History of Computing, 47, 1 (2025): 22-35 [publisher's link] [post-print]
In this article I explore the myth of Babel in the historiography of programming languages. The paper focuses on two iconic towers of Babel of programming languages published in 1961 and in 1969. The first one appeared on the cover of the Communications of the ACM. The second one appeared on the cover of Jean E. Sammet’s classic monograph Programming Languages: History and Fundamentals. Together these two towers have come to symbolize the fragmentation that plagued the development of programming as a result of the multiplicity of notations. Yet these two towers are very different from each other, both in terms of their visual content and style, as well as in terms of the contexts in which they originated and were put to work. In this paper I argue that the tower on the cover of the Communications should be understood as a proud display of the research that profoundly transformed computer programming during the late 1950s. The tower of Sammet’s book, meanwhile, reflected the book’s goal of bringing order into the field of programming languages. Symbolically Sammet’s book also marked the end of a decade that had witnessed the emergence of a logic-linguistic approach to the study of programming notations, a decade which also spurred her fascination with Babel.
“'Content Is Meaningless, and Structure Is All-important': Defining the Nature of Computer Science in the Age of High Modernism, c. 1950 - c. 1965”, IEEE Annals of the History of Computing, 45, 2 (April-June 2023): 29-42 [publisher's link] [post-print]
This article is a first attempt to explore the characteristic ambiguity of computer science towards the computer. Such ambivalence had its roots in the response of university computer centers to the commercialization of computing in the mid-1950s. University computing experts, having lost their role in the design and construction of computers, developed an understanding of the activity of computing disentangled from the computer itself, a conceptual shift that went together with a parallel process of de-materialization of the notion of computer. These transformations were triggered and facilitated by the ascendance of a high modernist agenda in the sciences in the United States. University computing experts embraced the high modernist abstractionist agenda and developed analogies across programs, notations, and a notion of the computer now understood as a model of computation. This conflation of notations, programs, and non-physical representations of the machine, was to become one of the core tenets of computer science.
“The Politics of Early Programming Languages: IBM and the Algol Project”, Historical Studies in the Natural Sciences (2021) 51 (3): 379–413 [publisher's link] [pdf]
The underlying theme in this paper is the Cold War politics and international economic competition of programming languages. The article shows how in the early 1960s the largely US and Western European community that coalesced around the development of the Algol programming language, which like Cobol also promised to bring about the cross-compatibility of computer programs, pushed for a strong research-oriented agenda in the development of the language. Such a course of events increased IBM’s doubts about a project that the firm already felt little urge to support, as it threatened the firm's business model based on customer locking. Eventually, the rising popularity of Algol in Europe and the US Department of Defense’s endorsement of Cobol convinced IBM to push in Western Europe for the use of its own Fortran language in order to protect its domestic market.
“Managing the Technological Edge: the UNESCO International Computation Centre and the Limits to the Transfer of Computer Technology, 1946-61”, Annals of Science, 71, 3 (2014): 410-31 [publisher's link] [pdf]
The main purpose of this article is to offer a more nuanced account of the adoption of the modern computer in Western Europe during the early postwar years. In contrast to the traditional focus of the historiography on rapid dissemination, the article shifts the focus to the restrictions, obstacles, and shortages that hindered the appropriation of the new technology. In particular, the article explores some of the mechanisms by which the boundaries of US support to the recovery of science in post-war Europe were drawn, and reveals how US foreign science policy could support a stealth industrial policy that sought to protect national security and industrial interest. At the center of this article lies the ill-fated establishment of the UNESCO International Computation Centre during the 1950s. Despite its internationalist objectives, the UNESCO initiative became quickly a prize sought by Western European countries like Denmark, Italy, Netherlands, and Switzerland seeking to speed up their national research programs. However, during the preparatory negotiations, the US government managed to impose considerably restrictions to the research function of the future center, which resulted in the withdrawal of European support for the project (with Italy being the exception).
with M. Priestley, G. Alberts, “When Technology Became Language: The Origins of the Linguistic Conception of Computer Programming, 1950–1960”, Technology and Culture, 55, 1 (2014): 40-75 [Mahoney Prize 2015] [publisher's link] [pdf]
This article explores how 'language' became one of the central metaphors around which the discipline of computer science has been built. The article starts by tracing back the entrance of the language metaphor in modern computing as part of a cybernetic discourse that described modern computers as if they were semi-autonomous, almost human-like agents. The article moves then to discuss how during the second half of the 1950s the language metaphor lost its anthropomorphic connotation and acquired a more abstract meaning, closely related to the formal languages of logic and linguistics. The article argues that this conceptual transformation was related to the appearance of the commercial computer in the mid-1950s, and in particular, to the increasing heterogeneity of computer installations at the time. Managers of computer facilities and educators at universities no longer found it helpful to think of programming notations as attributes of individual machines. And they began to draw on the disciplines of symbolic logic and linguistics to develop models of intelligibility that would enable abstraction away from the machine and toward the development of free-standing notations. The development of such "common" or "universal" notations was expected to facilitate the exchange of programs among and within organizations, and provide a suitable vehicle for teaching programming in universities. This process reached its climax with the development, between 1958–60, of the languages Algol for scientific computation and Cobol for data-processing.
“Unravelling Algol: U.S., Europe, and the Creation of a Programming Language”, IEEE Annals of the History of Computing, 32, 2 (2010): 58-68 [publisher's link] [pdf]
This article was my first take on the history of programming languages. The article basically challenges some of the entrenched views on the development of the Algol programming language, in particular its supposedly Western European origins. The article instead argues that the development of Algol emerged from the inability to exchange information between computers, a problem that affected both sides of the Atlantic, an ironic refutation of Edsger W. Dijkstra's famous characterization of an Atlantic divide in computer programming styles. In this regard, the article argues that the polarity was not between Algol and IBM's Fortran as expressions of two essentially different technological styles, but between the search for uniformity versus the preservation of the diversity of programming notations. So whereas Algol promoters sought to create one universal programming language, other approaches, such as the one undertaken by IBM's user group SHARE, sought to preserve a limited variety of languages and instead create a general translation system.
Book reviews
Review of What Algorithms Want: Imagination in the Age of Computing, by Ed Finn. Technology and Culture, 59, no. 3 (2018): 811-813. https://dx.doi.org/10.1353/tech.2018.0081.
Review of Turing’s Revolution: The Impact of His Ideas about Computability, by Giovanni Sommaruga, Thomas Strahm (eds.). Isis, 108, 2 (2017): 486–487. https://doi.org/10.1086/692413.
Review of It Began with Babbage: The Genesis of Computer Science, by Subrata Dasgupta. Technology and Culture, 56, 2 (2015): 537-538. https://dx.doi.org/10.1353/tech.2015.0073.