A communication through coding language is a formal computer language designed to communicate instructions to a machine, particularly a computer. Communication through coding languages can be used to create programs to control the behaviour of a machine or to express algorithms. The earliest known programmable machine preceded the invention of the digital computer and is the automatic flute player described in the 9th century by the brothers Musa in Baghdad, "during the Islamic Golden Age". From the early 1800s, "programs" were used to direct the behaviour of machines such as Jacquard looms and player pianos. Thousands of different communication through coding languages have been created, mainly in the computer field, and many more still are being created every year. Many communication through coding languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform) while other languages use other forms of program specification suchas the declarative form (i.e. the desired result is specified, not how to achieve it).