{{Short description|Set of instructions used to control the behavior of a machine}} A '''program''' is a set of data or instructions that controls the behavior of a machine. Examples include:

==Mechanisms== * 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.<ref>{{Cite journal |last=Koetsier |first=Teun |date=2001-05-01 |title=On the prehistory of programmable machines: musical automata, looms, calculators |url=https://www.sciencedirect.com/science/article/pii/S0094114X01000052 |journal=Mechanism and Machine Theory |language=en |volume=36 |issue=5 |pages=589–603 |doi=10.1016/S0094-114X(01)00005-2 |issn=0094-114X|url-access=subscription }}</ref> 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.<ref>{{cite journal |last1=Kapur |first1=Ajay |last2=Carnegie |first2=Dale |last3=Murphy |first3=Jim |last4=Long |first4=Jason |title=Loudspeakers Optional: A history of non-loudspeaker-based electroacoustic music |journal=Organised Sound |date=2017 |volume=22 |issue=2 |pages=195–205 |doi=10.1017/S1355771817000103 |publisher=Cambridge University Press |issn=1355-7718|doi-access=free }}</ref> * In 1206, the Muslim inventor Ismail al-Jazari (in the Artuqid Sultanate) described a drum machine which may have been an example of a programmable automaton.<ref name=Sharkey>Professor Noel Sharkey, [https://web.archive.org/web/20070629182810/http://www.shef.ac.uk/marcoms/eview/articles58/robot.html A 13th Century Programmable Robot (Archive)], University of Sheffield, 2007</ref> * Barrels, punched cards, and music rolls encoding music to be played by player pianos, fairground organs, barrel organs, and music boxes. * The sequence of punched cards used by a Jacquard loom to produce a given pattern within woven cloth. Invented in 1801, it used holes in punched cards to represent sewing loom arm movements in order to generate decorative patterns automatically.

==Electronics== Some programmable equipment and appliances only allow their users to select predefined options and/or set predefined parameters. The user is not required or allowed to write a computer program (textual, visual, or otherwise).

* The "program" of a programmable thermostat consist of user-changeable parameters (mode, time, temperature) in the entries of a schedule. * The "program" or patch of a programmable music synthesizer adjusts parameters and switches that interconnect modules. * The "program" of many programmable integrated circuits is data that it permanently stores for retrieval (programmable ROM etc.), and/or govern operation (programmable logic device etc.).

==Computers== * A computer program (software) is a list of instructions that can be executed by a computer.

When a programmable computer, programmable calculator, or programmable logic controller executes a program, its processor follows the instructions or commands that the program contains. Each instruction produces effects that alter the state of the machine according to its predefined meaning.

==See also== * Program (disambiguation) * {{In title|programmable}} * Programmer

==References== {{Reflist}}

Category:Computing terminology Category:Arab inventions Category:Iranian inventions

{{Compu-stub}}