Background: the 1960s

The 1960s

The mid 1960s were a pivotal time for computing. In 1965, as semiconductors replaced vacuum tubes, Gordon Moore of Intel observed that the number of transistors on integrated circuits was doubling every two years. A year earlier, IBM had announced the 360 family of computers. Timesharing was born that same year, when two people at Dartmouth College using separate terminals typed "PRINT 2+2" and (after some bugs were fixed) both got the answer 4.

Moore's Law is not a law of nature, but for fifty years hardware engineers have used it as a target. On aggregate they have actually done better than Moore predicted. This exponential growth has created enormous opportunities, but it has also created intense challenges. Many years later, Allen Newell pointed out that collectively we do well in predicting the performance of components such as processors and disks, we do quite well in predicting the next generation of hardware such as networks and personal computers, but we have consistently failed to predict the breakthrough applications enabled by this hardware. He might have added that we also fail to anticipate the organizational and social impact.

A Pegasus computer

My early experience provides some typical examples of computing in the 1960s, before the emergence of timesharing. It was characteristic of the period that as a mathematics undergraduate at Oxford, graduating in 1966, I never went near a computer.

I wrote one small program in 1962 while at school in England. A local engineering company had a Ferranti Pegasus computer and invited a group of us (all boys) to visit it. There is a Pegasus in the Science Museum in London. It is an imposing collection of shining boxes, which occupy a space the size of a small room, but the computer we saw had most of its covers removed exposing racks of vacuum tubes and electrical circuits. The covers were off because the components were highly unreliable. The processor was an array of modules, each about the size of a shoe box and containing several vacuum tubes. Individual modules could be slid out of the rack and replaced, even while the machine was powered up.

We each had one attempt to run a small program. The programming language was Pegasus Autocode, a dialect of the family that later became Algol. My program solved a simple mathematical puzzle. We wrote our program instructions on paper. A clerk keyed them on to 5-track paper tape and an operator fed the tape into the computer. After a substantial pause the results were printed out on a teletype terminal. My program gave the correct result. Other people were not so successful.

Fortran programming with punched cards

After my brief experience at school, I did not use a computer again until 1966 when I was a master's student at the London School of Economics. The school had an IBM 1440 computer.

The programming language was Fortran II, which was easy to use for the mathematical programs that we wrote. Nobody gave us instructions. Programming was assumed to be a simple skill that any student could pick up from the manual.

Before class we left our coding sheets at the reception desk and an hour later we picked up the results. We got back a deck of cards, a listing of our program, its compilation, and results. If we wanted to make changes we wrote them on a new coding sheet and handed back the deck of cards. Apparently the school had decided that it was less expensive to pay somebody to key our programs than to waste expensive computer time trying to run badly keyed programs that we had punched ourselves.

English Electric - Leo - Marconi

My first job after graduation was in the operational research group of English Electric - Leo - Marconi. As the name implied, this was a merger of three separate companies each of which manufactured computers during the 1960s. By the time that I actually started work the company had changed its name to English Electric - Leo, and soon afterwards it merged with International Computers and Tabulators Ltd. to become International Computers Limited (ICL).

A Leo III computer from the early 1960s

Leo was one of the pioneers of computer-based data processing. It began as an in-house venture of J. Lyons, a bakery and food company, which built the original machines for its own use. Leo was perhaps the first company to use multiprogramming successfully. The Leo III was able to run up to three programs simultaneously. The company also developed a high level programming language, Cleo, similar to IBM's Cobol.

Photograph by permission of the Leo Computers Society

In 1967, English Electric - Leo introduced a new range of computers, known as System 4, which was a derivative of the RCA Spectra series. These machines used the same instruction set as the recently introduced IBM 360 series. The company was proud of the semiconductor technology, claiming to be the first commercial computer to have more than one gate on a silicon chip. Building on experience with the Leo III, the central processor had hardware support for multiprogramming.

For the first three months on my new job, I was sent on an intensive training course to learn about these new machines. The course included assembly level programming and went into considerable details about the hardware. This was a fortunate time to learn about computing as I was trained in the computer architecture that was to dominate mainframe computers for many years.