|Home > LEO Computers > LEOPEDIA > Other Memoirs, Reminiscences > Michael Guy: LEO Master Routine
Michael Guy: LEO Master Routine
LEO Master Routine – The Birth of Software Engineering?
Michael Guy joined LEO straight from Wadham College, Oxford in 1962 with a mathematics degree. After two years working on the Master Routine he left to do a PhD at Newcastle University in integer programming.
After two years working for Wiggins Teape in their systems development department he rejoined what was then ICL. He worked on VME for many years, progressing from programmer to designer, project manager and OSTECH. When a team was created to pursue the UK Alvey projects, launched as a response to the Japanese 5th Generation project, he seized the opportunity, working mainly on persistent programming with the universities of Glasgow and St Andrews. He ended his career with Teamware in what had become Fujitsu. On retirement he went back to university, taking degrees in theology and biblical studies at Birmingham University. After gaining an acquaintance with at least a dozen programming languages he had no desire to program any more until twenty years later, when he found himself helping to debug his grandson's Python programs on a Raspberry Pi.
Michael says "I worked on the LEO III Master Routine from 1962 to 1964, going straight from university with a maths degree. It was nearly sixty years ago and my memories of that time have been paged out and archived, and have probably been corrupted on the way. Also I do not have a wide knowledge of the wider world of computing at the time. But I have been encouraged to write this article in the hope of generating discussion of a very important subject – the development of the discipline of software engineering."
John Daines also remembers the Master Routine and says: I have listings of the master routine and it was written in Intercode.
Intercode itself was a level above machine code and, although a instruction looked to be an equivalent to a machine code instruction, it was often expanded by the translator into several machine code instructions.
However, Intercode instructions 100/0/0 to 131/1/3 were one for one equivalents of machine code instructions 0/0/0 to 31/1/3. That meant that the master routine programmers could program at the lowest level and use specialist low level instructions that weren’t in the Intercode set e.g. input output, interrupt handling, setting store protection tags .etc
Interestingly, Cleo allowed for routines to be written in Intercode and, by implication from the above, that Intercode might include machine code.Date : 2020
This exhibit has a reference ID of CH62985. Please quote this reference ID in any communication with the Centre for Computing History.
Click on the Images For Detail