Formalising Meaning: a History of Programming Language Semantics

Troy Kaighin Astarte. Formalising Meaning: a History of Programming Language Semantics. PhD thesis, Newcastle University, Newcastle upon Tyne, 2019.

Abstract

The emergence of high-level programming languages in the 1950s brought a series of challenges to the burgeoning computing community. Many of these centred aroundthe difficulty of determining precisely the meaning of programming languages. This was a key issue for both those writing translators for languages and those writingprograms in these languages. People in the computing and mathematics worlds attempted to address these challenges by creating a variety of ways to describe the semantics of high-level languages (the issue of defining syntax was more quickly resolved). The history of the development of formal semantic description techniques is explored, with a particular focus on two centres of research: the IBM Laboratory in Vienna, and the Programming Research Group in Oxford. The stories of these two threads of development create interesting contrasts and similarities and discussing them—as well as the previous works that motivated them and the subsequent work inspired by them—can tell us much about programming languages and formal computing today, as well as the culture and context of computing in the 1960s and 1970s. This work takes both a historical and technical approach. Looking at historical developments, considering the people involved in research, their motivations, the situations in which they worked, and how they interacted informs understanding of their technical outputs. Exploring the technical side, however, also helps uncover additional historical angles, such as interactions and influences both positive and negative.