HOME

TheInfoList



OR:

''The Preparation of Programs for an Electronic Digital Computer'' (sometimes called ''WWG'', after its authors' initials) was the first book on
computer programming Computer programming is the process of performing a particular computation (or more generally, accomplishing a specific computing result), usually by designing and building an executable computer program. Programming involves tasks such as anal ...
. Published in 1951, it was written by
Maurice Wilkes Sir Maurice Vincent Wilkes (26 June 1913 – 29 November 2010) was a British computer scientist who designed and helped build the Electronic Delay Storage Automatic Calculator (EDSAC), one of the earliest stored program computers, and who i ...
, David Wheeler, and Stanley Gill of
Cambridge University , mottoeng = Literal: From here, light and sacred draughts. Non literal: From this place, we gain enlightenment and precious knowledge. , established = , other_name = The Chancellor, Masters and Schola ...
. The book was based on the authors' experiences constructing and using
EDSAC The Electronic Delay Storage Automatic Calculator (EDSAC) was an early British computer. Inspired by John von Neumann's seminal '' First Draft of a Report on the EDVAC'', the machine was constructed by Maurice Wilkes and his team at the Univer ...
, one of the first practical computers in the world.


Contents


Overview

It was the first book to describe a number of important concepts in programming, including: * the first account of a
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
of reusable code * the first API * the first explanation of using a memory dump for
debugging In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve i ...
a program, which the book called a "post-mortem routine" * the first use of the term " assembly" in programming, though with a somewhat different meaning than the modern use of the term Much of the book is dedicated to explaining the library. This consisted of eighty-eight subroutines implementing mathematical operations like the calculation of
trigonometric functions In mathematics, the trigonometric functions (also called circular functions, angle functions or goniometric functions) are real functions which relate an angle of a right-angled triangle to ratios of two side lengths. They are widely used in a ...
and arithmetic operations on complex numbers. The library was a physical collection stored in a filing cabinet containing
punched paper tape Five- and eight-hole punched paper tape Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop Punched tape or perforated paper tape is a form of data storage ...
encoding the subroutines. This included a "
library catalog A library catalog (or library catalogue in British English) is a register of all bibliographic items found in a library or group of libraries, such as a network of libraries at several locations. A catalog for a group of libraries is also ...
" describing how a programmer could use each subroutine; today this is called API documentation.


Part one


Chapter 6 - Debugging

This chapter extensively investigates "proofreading" and location of the mistakes in the programs. It also advises against frequent refactoring as it introduces more mistakes as programmer tries to improve the program.


Chapter 7 - Examples of programs for EDSAC

Includes examples of calculations of ' formula and
definite integral In mathematics, an integral assigns numbers to functions in a way that describes displacement, area, volume, and other concepts that arise by combining infinitesimal data. The process of finding integrals is called integration. Along with ...
, integration of ordinary differential equitation, and evaluation of the
Fourier transform A Fourier transform (FT) is a mathematical transform that decomposes functions into frequency components, which are represented by the output of the transform as a function of frequency. Most commonly functions of time or space are transformed ...
by using EDSAC programs.


Chapter 8 - Automatic programming

discusses an assembling (compiling) and interpretation of a program, it also discusses motivation behind "floating addresses" which are, in modern terms, are variable references (akin to C++ variable references) which are replaced by compiler by a real memory addresses on the fly every time the subroutine is invoked.


Part two

This part contains mostly specification on the EDSAC's
standard library In computer programming, a standard library is the library made available across implementations of a programming language. These libraries are conventionally described in programming language specifications; however, contents of a language's a ...
's subroutines. Among included are subroutines for floating-point, complex numbers, debugging, exponential calculations, integration, differential arithmetic equations, logarithms, quadrature, and trigonometric subroutines.


Publication history

The 1951 book was a mass-printed version of a report titled ''Report on the Preparation of Programmes for the EDSAC and the Use of the Library of Subroutines'' written in September 1950 for private circulation and distributed to no more than 100 people. Though written in England, the book was published by
Addison-Wesley Addison-Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles throug ...
in the United States. At the time ''WWG'' was published there were very few digital computers in the world. EDSAC, on which the book was based, was the first computer in the world to provide a practical computing service for researchers. Demand for the book was so limited initially that it took six years to sell out the first edition. As computers became more common in the 1950s, the book became the standard textbook on programming for a time. The second edition was printed in 1957. By that time, technology had advanced to the point that ''WWG'' was somewhat outdated. Though ''WWG'' was the first published, book-length treatment of computer programming, it was not the first writing on the topic. The subject of programming had been pioneered by
Ada Lovelace Augusta Ada King, Countess of Lovelace (''née'' Byron; 10 December 1815 – 27 November 1852) was an English mathematician and writer, chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the An ...
more than a century prior. It had also been written about more recently by
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest c ...
, whose '' EDVAC Report'' of 1945 initially inspired Wilkes to create EDSAC.


References


External links

*
The Preparation of Programs for an Electronic Digital Computer
' second edition (1957) text at The Internet Archive
The EDSAC Paperwork Collection at The ICL Computer Museum
{{DEFAULTSORT:Preparation of Programs for an Electronic Digital Computer, The Handbooks and manuals Computer programming books Addison-Wesley books 1951 non-fiction books