Manchester Autocodes

The significance of Brooker's autocodes in taking the early Manchester machines into the market. (1954 - 1960)

In 1949 while we engineers were handing over the University Mark 1 for the programmers to use there was no system software as we understand it today, except for the basic utilities.

I quote from Lavington's excellent analysis of the emergence of the Manchester Autocode tradition in his Historical Perspective of the Manchester Mark I and Atlas.

"Once the Ferranti Mark I had been installed at the University in 1951, software development increased, with the emphasis being on embryonic high-level languages. After one earlier effort at compiler writing (1952), the Mark I Autocode was available from March 1954 as an easy-to-learn scientific programming language for users having small or medium-sized problems.

An additional Autocode implementation objective was to simulate a one-level store so that the user had no need to organize his own drum transfers. It was possible to simulate this one-level store on the Mark I in a reasonably balanced way because the access time for reading an operand from the drum happened to be about the same time as a floating-point addition via an interpretive library routine. When running Autocode programs 128 tracks on the drum were reserved for instructions and 128 tracks for variables. Individual routines were transferred to the fast CRT store as they were required. To gain access to a variable an interpretive routine in fast store first determined on which track it lay, then transferred that track or "page" to the fast store, and finally selected the particular line within the page. Since successive operands were quite often located on the same page, steps were taken to avoid unnecessary drum transfers."

Reading that article now 44 years later I appreciate the benefits that came from the precious opportunities that were available when engineers and programmers were so closely associated with a new venture.

What took me less time to appreciate was in 1956 when having moved from Manchester to the Central Instruments Laboratory of I.C.I it became my task to introduce these new fangled machines to a largely sceptical community who built chemical plant with slide rules very nicely thank you. There were a few pockets of computing activity where scientists relished the challenge of struggling with the machine code of say the early Elliott machines.

Throughout the company we soon discovered that individual engineers were amenable to being taught how to program in the Autocodes that were first made available to them through remote use of the Manchester Mark I.

Routines and programs were written in Autocode which when punched on Creed paper tape were easily transmitted via the ICI sales telex network to a convenient terminal in Piccadilly in Manchester. These tapes were physically transported down Oxford Road to Owens College and later in the day output tapes with good error diagnostics and occasionally results would be returned via the telex network to the originating engineer any where in the ICI world wide network of factories and design offices.

A key factor in this intriguing early example of remote access computing was the recruitment of Bernard Richards from Tony Brooker's team at the University to staff the Manchester relay station. Bernard subsequently joined the Central Computing Facility of I.C.I.when we installed a Mercury Computer at Wilton works in North Yorkshire as a central facility for the use of engineers throughout the Company.

We had in effect simulated an early global internet type of operation in 1956 entirely on the strength of the teachability and diagnostic capability of Tony Brooker's early autocode compilers.

Tony and his colleagues anticipated the need to bridge the gap between the raw coding characteristics of the early machines and the reasonable reluctance of the average user to become subservient to their architecture.

This provision was paramount to the acceptance of the Ferranti Mercury and later the English Electric KDF9's , System 4,s and then the ICL 2900's in ICL and elsewhere.

In 1960 as Tony reports in his paper on High level Programming Languages on the Manchester Computers he introduced the use of the Compiler Compiler for the Atlas and other machines.

This concept and its many implementations has provided the bridge through to the present day for programs written for the first autocodes on the Mark I while resident at the University.

Then through the derivatives of those languages operating on the several Ferranti, English Electric and ICL machines in ICI and elswhere, suites of significant design and performance improvement programs were written by mathematicians and engineers that were to last for decades.

When the Edinburgh Regional Computing Centre was established in 1966 it was with the aid of Manchester compilers that we were able to deliver services on KDF9's, IBM 360's, System 4's and then the ICL 2900 family.

A full circle had been completed with Manchester conceived software technology joining up with its latest computer architecture, the MU5.

The union was maintained through until 30th June 1992 when the EMAS operating system written in a language (IMP, a lineal descendant of the first Autocode) was finally closed down.

Nearly 40 years of continuity in programming technique and program portability, is another of the achievements of the work started in the 1950's at Manchester, which this conference can celebrate with pride.

This page is reproduced from with kind permission of Tommy Thomas