Programming
The idea of programming predates electronic computers. Inspired by the ideas of Adam Smith, eighteenth century projects to develop large scale mathematical tables provided opportunities to decompose the complex computations of mathematical functions into small sets of instructions – programs – for human ‘computers’ to follow. Such methods were used in new table making projects in the 1940s.
The emergence of punched cards for controlling weaving machines and machine tools generally established a recognisable form of program as a sequence of instructions of various kinds. The idea of punched cards was introduced into the computing of mathematical functions by Charles Babbage with his plans for his Analytical Engine. His friend and acolyte Ada Lovelace expanded our conception of programs and programming with her seminal notes on the Analytical Engine in 1843.
In 1936, Alan Turing had clearly defined instructions and programs for his idealised ‘Turing machines’, for which he proved the existence of a universal form of programmable machine, and the undecidability of the halting problem for the programs of the machines.
Today, a program is a text that is well-defined by the strict grammatical rules of a programming language. The Collection has original materials charting the development of programming and about most of the major programming languages.