Autocode

From Wikipedia, the free encyclopedia

Autocode is a class of simple high-level programming languages devised for a series of machines at the Universities of Manchester and Cambridge. An early version was developed for the Ferranti Mercury, which was developed in the 1950s in conjunction with the University of Manchester.

Mercury Autocode was designed and developed by R. A. Brooker of the University of Manchester. It had a limited repertoire of variables a-z and a'-z' and, in some ways resembled early versions of the later Dartmouth BASIC language. It pre-dated Algol, having no concept of stacks and hence no recursion or dynamically allocated arrays. To overcome the relatively small store size available on Mercury, large programs were written as distinct "chapters", each of which constituted an overlay. Some skill was required to minimise time-consuming transfers of control between chapters. This concept of overlays from drum under user control became common until virtual memory became available in later machines. Slightly different dialects of Mercury Autocode were implemented for the Ferranti Atlas (not to be confused with Atlas Autocode) and the ICT 1300 and 1900 range.

The version for the EDSAC 2 was devised by D. F. Hartley of University of Cambridge Mathematical Laboratory in 1961. It was ALGOL-like in structure and was optimised for use by scientists and engineers. Developments of it ran on the successor Titan (the prototype Atlas 2 computer), and a similar language was developed for the University of Manchester Atlas 1 machine (see Atlas Autocode).