A program is a set of instructions used to control the behavior of a
machine
A machine is a physical system that uses power to apply forces and control movement to perform an action. The term is commonly applied to artificial devices, such as those employing engines or motors, but also to natural biological macromol ...
. Examples of such programs include:
*The sequence of
cards used by a
Jacquard loom to produce a given pattern within weaved
cloth. Invented in 1801, it used holes in punched cards to represent sewing loom arm movements in order to generate decorative patterns automatically.
*A
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
(
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
) is a list of instructions to be executed by a computer.
*Barrels, punched cards and
music rolls encoding music to be played by
player pianos,
fairground organs,
barrel organ
A barrel organ (also called roller organ or crank organ) is a France, French mechanical musical instrument consisting of bellows and one or more ranks of organ pipe, pipes housed in a case, usually of wood, and often highly decorated. The basic ...
s and
music boxes.
*The automatic flute player, which was invented in the 9th century by the
Banū Mūsā brothers in
Baghdad, is the first known example of a programmable machine. The work of the Banu Musa was influenced by their Hellenistic forebears, but it also makes significant improvements over Greek creation. The pinned-barrel mechanism, which allowed for programmable variations in the rhythm and melody of the music, was the key contribution given by the Banu Musa.
In 1206, the Muslim inventor
Al-Jazari (in the
Artuqid Sultnate) described a
drum machine which may have been an example of a programmable automaton.
[ Professor Noel Sharkey]
A 13th Century Programmable Robot (Archive)
University of Sheffield, 2007
The execution of a program is a series of actions following the instructions it contains. Each instruction produces effects that alter the state of the machine according to its predefined meaning.
While some machines are called programmable, for example a
programmable thermostat or a musical
synthesizer, they are in fact just devices which allow their users to select among a fixed set of a variety of options, rather than being controlled by programs written in a language (be it textual, visual or otherwise).
References
Computing terminology
Arab inventions
Iranian inventions
Turkish inventions
{{comp-stub