# Program (machine)

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Program_(machine)
> Markdown URL: https://mediated.wiki/source/Program_(machine).md
> Source: https://en.wikipedia.org/wiki/Program_(machine)
> Source revision: 1356291703
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{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](/source/machine). Examples include:

==Mechanisms==
* The automatic flute player, which was invented in the 9th century by the [Banū Mūsā brothers](/source/Ban%C5%AB_M%C5%ABs%C4%81_brothers) in [Baghdad](/source/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](/source/Organised_Sound) |date=2017 |volume=22 |issue=2 |pages=195–205 |doi=10.1017/S1355771817000103 |publisher=[Cambridge University Press](/source/Cambridge_University_Press) |issn=1355-7718|doi-access=free }}</ref>
* In 1206, the Muslim inventor [Ismail al-Jazari](/source/Ismail_al-Jazari) (in the [Artuqid Sultanate](/source/Artuqids)) described a [drum machine](/source/drum_machine) which may have been an example of a programmable automaton.<ref name=Sharkey>[Professor Noel Sharkey](/source/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](/source/University_of_Sheffield), 2007</ref>
* Barrels, punched cards, and [music roll](/source/music_roll)s encoding music to be played by [player piano](/source/player_piano)s, [fairground organ](/source/fairground_organ)s, [barrel organ](/source/barrel_organ)s, and [music box](/source/music_box)es.
* The sequence of [punched card](/source/punched_card)s used by a [Jacquard loom](/source/Jacquard_loom) to produce a given pattern within woven [cloth](/source/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](/source/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](/source/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](/source/programmable_ROM) etc.), and/or govern operation ([programmable logic device](/source/programmable_logic_device) etc.).

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

When a programmable computer, [programmable calculator](/source/programmable_calculator), or [programmable logic controller](/source/programmable_logic_controller) [executes](/source/execution_(computing)) 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)](/source/Program_(disambiguation))
* {{In title|programmable}}
* [Programmer](/source/Programmer)

==References==
{{Reflist}}

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

{{Compu-stub}}

---
Adapted from the Wikipedia article [Program (machine)](https://en.wikipedia.org/wiki/Program_(machine)) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Program_(machine)?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
