This section focuses on three great men whose inventions laid the foundation for modern computer programming, Joseph-Marie Jacquard, Charles Babbage, and Herman Hollerith.
Punch cards were already in use in music boxes and earlier looms, but French silk-weaver Joseph-Marie Jacquard (1752-1834) made such improvements in punch card technology that sophisticated patterns could be produced quickly through the mechanical direction of the punch card’s hole-code system. The Jacquard loom is controlled by a chain of multiple cards punched with holes that determine which cords of the fabric warp should be raised for each pass of the shuttle. The ability to store and automatically reproduce complex operations found wide application in textile manufacturing.(Source)
The Jacquard loom was a marvel of the Industrial Revolution. A textile-weaving loom, it could also be called the first practical information-processing device. The loom worked by tugging various-coloured threads into patterns by means of an array of rods. By inserting a card punched with holes, an operator could control the motion of the rods and thereby alter the pattern of the weave. Moreover, the loom was equipped with a card-reading device that slipped a new card from a prepunched deck into place every time the shuttle was thrown, so that complex weaving patterns could be automated.
What was extraordinary about the device was that it transferred the design process from a labour-intensive weaving stage to a card-punching stage. Once the cards had been punched and assembled, the design was complete, and the loom implemented the design automatically. The Jacquard loom, therefore, could be said to be programmed for different patterns by these decks of punched cards.
For those intent on mechanizing calculations, the Jacquard loom provided important lessons: the sequence of operations that a machine performs could be controlled to make the machine do something quite different; a punched card could be used as a medium for directing the machine; and, most important, a device could be directed to perform different tasks by feeding it instructions in a sort of language—i.e., making the machine programmable.
It is not too great a stretch to say that, in the Jacquard loom, programming was invented before the computer. The close relationship between the device and the program became apparent some 20 years later, with Charles Babbage’s invention of the first computer. (Source)