Pirating the IBM 360 and PL/1 Pointers: Dinner at #ICSE2018

ICSE 2018 (https://www.icse2018.org), celebrating 50 years of software engineering, is promising to be great event. An outstanding set of keynote speakers including Fred Brooks Jr, Brian Randell and Margaret Hamilton (https://www.icse2018.org/info/keynotes) will bring to bear an insightful reflection on modern software engineering research and practice.

Today, I had an opportunity to converse with two pioneers of computer science Emeritus Prof. Brian Randell and Harold Lawson over dinner and a beer. Marion Petre and Andre van der Hoek also joined us. The conversation as expected was wide ranging and entertaining. We talked about the curse and the benefits of the pointer variable (introdu

Prof. Brian Randell (centre), One of the pioneers of computer science. Also standing, Prof. Balbir Barn and Prof. Marian Petre.

ced in Pl/1 by Harold Lawson). The pointer variable was made ubiquitous by programming languages such as C, Pascal, C++, and Ada. Many C programmers will attest to the sleepless nightmares caused by memory overwrites through incorrect use of the pointer. 

Brian Randell, who worked on the IBM 360

series of computers, talked about how the IBM 360 architecture was cloned by the USSR in the 1970s. The USSR, at that time, had a policy of encouraging the pirating of Western systems. Curiously, Algol, through the 60s and 70s was the dominant programming language in use in the USSR. Brian Randell, had written one of the earliest implementations of Algol-60, the Whetstone compiler and used the compiler at English Electric Ltd.

Model railways also got a mention. It turns out they are an excellent pedagogic tool for teaching so many CS constructs especially when students are asked to design systems that support the “passing” of a train from one rail network to another. I’m going to explore this further with colleagues back at Middlesex CS.

One thing is clear, young CS academics embarking on doctoral research, would do well by spending a few months of their doctoral study reading the seminal work of the pioneers of computer science (even if does not seem immediately relevant). In a future blog, I hope to collate a list of such research papers.