In 1950 Maurice Wilkes, David Wheeler, and Stanley Gill of Cambridge University issued Report on the Preparation of Programmes for the EDSAC and the Use of the Library of Subroutines. This dittoed document, published for private distribution in a very small number of copies, was the first treatise on software written for an operational stored-program computer. The book described “assemblers” and “subroutines”—segments of programs that are frequently used, so they can be kept in “libraries” and reused as needed in many software applications. The Cambridge group thus introduced the concept of reusable code, one of the principal tools for reducing software bugs and improving the productivity of programmers.
In 1951 this work was published as a conventional hard-cover book, with some changes and a new title by the American publishers Addison-Wesley, coincidentally in Cambridge, Massachusetts. The Preparation of Programs for an Electronic Digital Computer, with special reference to the EDSAC and the use of a library of subroutines was the first conventionally published book on software. (See Reading 9.4.)