FREE HISTORICAL FIGURES OF COMPUTING PROFILE

Joseph-Marie Jacquard

1752–1834 · Inventor

Joseph Marie Jacquard

Pattern selection and punched-card weaving · 1752–1834 · France

The Jacquard mechanism made changeable pattern control useful in textile production. It is best understood as a mechanism attached to a loom, with cards determining selections during weaving. Calling it a modern stored-program computer obscures both the actual engineering and the additional capabilities of later computers.

The historical contribution

Jacquard demonstrated his mechanism in 1801. It belonged to an existing history of textile automation, including earlier perforated media and selection mechanisms. National Museums Scotland describes a surviving nineteenth-century handloom with a Jacquard attachment and explains how linked cards correspond to the textile pattern. The weaver remained part of the system. National Museums Scotland

A separate Science Museum Group artifact was made by W. Archer around 1910 and used to teach weaving in Manchester. Its date and maker must not be confused with Jacquard's original work. Physical artifacts can demonstrate how a later mechanism operates without proving every detail of its inventor's biography. Jacquard hand loom, collection record

Museum descriptions explain the use of cards, needles, hooks, and thread lifting. Holes permit particular selections as the mechanism presents successive cards. The details depend on the loom and its attachment. A statement that one card position always means one individual warp thread is too restrictive: a harness can connect selections to groups or repeated arrangements. Science and Industry Museum, Weaving numbers

Babbage's use of textile card control is documented in histories of his engines. This is a specific adaptation worth studying. It does not justify an uninterrupted genealogy from Jacquard to every modern processor. The 1801 demonstration also preceded the Analytical Engine's conception in the 1830s by about three decades, not seventy years. Computer History Museum, engines

Worked mechanism: the harness is part of the meaning

The following is an original simplified model. Four card positions control four hooks. Eight warp threads are connected in pairs:

hook 1 controls threads 1 and 5
hook 2 controls threads 2 and 6
hook 3 controls threads 3 and 7
hook 4 controls threads 4 and 8

A card 1010 lifts hooks 1 and 3, producing thread vector 10101010. Card 0101 produces 01010101. Alternate the cards to obtain a repeated interlacing selection, assuming the weft step and other loom operations are correctly coordinated.

The eight output bits are not independently controllable. Threads 1 and 5 must always agree, as must 2 and 6, 3 and 7, and 4 and 8. Only 2⁴=16 of the 2⁸=256 possible thread vectors can be selected. A target such as 10000000 is impossible under this harness because lifting thread 1 also lifts thread 5.

Changing cards changes behavior within the harness's capabilities. Changing the harness changes the mapping from control positions to threads. A new fabric may also require different materials, density, or setup. It is therefore misleading to say that all fabric characteristics reside entirely on cards.

This is an example of a general encoding problem. An abstract output specification must be translated through a machine's available actions. A compiler cannot create an unsupported action merely by rearranging valid instructions; it must either synthesize the action from available ones or report that the requested behavior is outside the model.

Sequence storage is not the same as conditional computation

Let a chain contain four cards A,B,A,C and repeat. A row counter follows 0,1,2,3,0,.... Even though card A occurs twice, the two occurrences have different successors: B after the first and C after the second. The current card's contents alone do not determine the next state. The chain position is part of the state.

A finite repeating chain stores a predetermined sequence. A controller that chooses its successor using a computed result adds a separate capability. A computer that stores instructions in writable memory adds another. These distinctions let us compare machines without claiming that one historical mechanism already had every later feature.

There is also a physical operating contract: selections must settle before the weft passes; the next card must align before it is read; the cloth must advance appropriately. Determinism is a property of a complete model with specified inputs and state. A card chain alone does not guarantee identical cloth under different tension, yarn, or operating conditions.

Exercises

  1. Under the four-hook harness above, determine whether 11001100, 11110000, and 00110011 are reachable. Give a card for every reachable target and prove the other case impossible.
  2. A repeated card chain is A,B,A,C. Someone replaces it with a dictionary of rules A→B, B→A, C→A, claiming this preserves the sequence. Trace six outputs from A and identify the missing state. Give a correct finite-state representation.
  3. Each of 12 hooks controls two inseparable threads, and a card chain has 100 rows. How many distinct one-row selections are possible? How many length-100 selection sequences can be represented if every row is independently chosen? Why does this count neither prove unlimited pattern complexity nor imply that all sequences are mechanically feasible?
Compare your reasoning with the worked solutions
  1. Compare positions separated by four. 11001100 satisfies all four equality constraints and comes from card 1100. 00110011 comes from 0011. In 11110000, each first-half bit differs from its paired second-half bit, so no hook selection can produce it. Adding more cards changes selections over time but cannot break a per-row pairing constraint.
  2. The dictionary generates A,B,A,B,A,B, never reaching C. It has merged two positions that share output A but have different successors. Use states 0 through 3, outputs A,B,A,C, and transitions 0→1→2→3→0. State identity need not equal visible output. The same principle matters when minimizing state machines: two states are equivalent only if their future observable behavior agrees for all permitted inputs.
  3. There are 2^12=4096 one-row selections, not 2^24. With 100 independent rows there are (2^12)^100=2^1200 sequences. This is a finite count for a specified card width and length. Longer chains enlarge the space but require physical storage and handling. Fabric structure and timing impose further constraints not included in the bit model. The count describes encodings, not a guarantee that every encoding yields a suitable fabric.