◷ Storia dell'informatica

Il telaio Jacquard: quando le schede perforate nacquero per la seta

Come il telaio di Joseph Marie Jacquard usò schede perforate per tessere disegni complessi e perché quell'idea divenne la base della programmazione.

Una delle idee centrali dell'informatica non è nata in un laboratorio di matematica, ma in una manifattura di tessuti. All'inizio dell'Ottocento, a Lione, il tessitore e inventore Joseph Marie Jacquard mise a punto un telaio capace di produrre disegni complicati seguendo le istruzioni scritte su una catena di schede di cartone forate. Per la prima volta una macchina eseguiva una sequenza di operazioni lette da un supporto esterno e intercambiabile. In altre parole, eseguiva un programma.

Il problema da risolvere

Per capire l'importanza dell'invenzione bisogna sapere come si tessevano i broccati e i damaschi. In un tessuto, i fili longitudinali formano l'ordito e quello che li attraversa forma la trama. Per creare un disegno, a ogni passaggio della trama bisogna decidere quali fili dell'ordito sollevare e quali lasciare abbassati.

Nei telai tradizionali per tessuti operati, questa scelta richiedeva un aiutante, spesso un ragazzo, che stava sopra il telaio e tirava a mano gruppi di cordicelle secondo uno schema prestabilito. Il lavoro era lento, faticoso e soggetto a errori: un filo sbagliato rovinava il disegno.

I predecessori

Jacquard non partì da zero. Nel corso del Settecento altri inventori francesi avevano affrontato lo stesso problema:

  • Basile Bouchon aveva usato un rotolo di carta perforata per selezionare gli aghi che comandavano i fili.
  • Jean-Baptiste Falcon aveva sostituito il rotolo con una serie di schede rettangolari legate tra loro, più robuste e facili da modificare.
  • Jacques de Vaucanson, celebre per i suoi automi, aveva progettato un telaio automatizzato che però non ebbe diffusione.

Il merito di Jacquard fu combinare e perfezionare queste idee in un meccanismo affidabile, che si poteva montare sui telai esistenti e che funzionava senza l'aiutante.

Come funzionava il meccanismo

Il principio è semplice e proprio per questo potente.

  1. Ogni scheda corrisponde a un singolo passaggio della trama, cioè a una riga del disegno.
  2. Su ogni scheda, una posizione forata indica che un certo filo dell'ordito deve essere sollevato; una posizione piena indica che deve restare giù.
  3. Una serie di aghi premeva contro la scheda. Dove trovava un foro, l'ago passava e il filo collegato veniva sollevato; dove trovava il cartone, l'ago si fermava.
  4. Dopo ogni passaggio, la catena avanzava di una scheda e il ciclo ricominciava.

Un disegno complesso poteva richiedere migliaia di schede cucite in sequenza. Cambiare disegno significava semplicemente cambiare la catena.

Un codice binario ante litteram

Ogni posizione della scheda ha due soli stati: foro o non foro. È una codifica binaria, anche se nessuno all'epoca la chiamava così. Ogni scheda è quindi una riga di bit, e la catena di schede è una sequenza di istruzioni. La separazione tra la macchina, sempre uguale, e il programma, sostituibile, è un concetto che ritroviamo intatto nei computer.

L'impatto sociale

Il nuovo telaio aumentò molto la produttività e ridusse il bisogno di manodopera ausiliaria. Come spesso accade con le innovazioni che cambiano il lavoro, Jacquard incontrò anche l'ostilità di una parte dei tessitori, che temevano di perdere il proprio impiego. Nel giro di alcuni decenni, tuttavia, il meccanismo si diffuse ampiamente nell'industria tessile europea, e ancora oggi si parla di «tessuto jacquard» per indicare stoffe con disegni intrecciati nella trama.

Da Lione a Babbage

Il collegamento con l'informatica non è un'interpretazione a posteriori. Fu esplicito già nell'Ottocento.

Charles Babbage, quando progettò la sua macchina analitica, decise di usare schede perforate sul modello di quelle di Jacquard per fornire alla macchina sia le operazioni da eseguire sia i dati. Ada Lovelace, commentando il progetto, scrisse una frase diventata celebre: la macchina analitica tesse schemi algebrici così come il telaio di Jacquard tesse fiori e foglie.

Dalle schede alla memoria

Le schede perforate ebbero una carriera lunghissima. Alla fine dell'Ottocento Herman Hollerith le usò per elaborare i dati del censimento statunitense, e per gran parte del Novecento furono il modo normale di inserire programmi e dati nei computer. Generazioni di programmatori hanno preparato pacchi di schede da consegnare al centro di calcolo.

Il principio però va oltre il supporto fisico. Possiamo riassumerlo così:

Telaio Jacquard Computer moderno
Struttura del telaio Hardware
Catena di schede Programma
Singola scheda Istruzione o riga di dati
Foro / non foro Bit 1 / bit 0
Cambio della catena Caricamento di un altro programma

Nel mio lavoro trovo che questo parallelo sia uno dei modi più efficaci per spiegare a chi non è del settore che cosa significhi davvero «programmare»: descrivere in anticipo, in una forma che la macchina sa leggere, una sequenza di scelte elementari.

Un limite importante

È giusto anche chiarire che cosa il telaio non faceva. Eseguiva le schede una dopo l'altra, sempre nello stesso ordine. Non prendeva decisioni in base a un risultato, non saltava a un'altra scheda se si verificava una condizione, non calcolava nulla. Mancavano quindi i salti condizionati e la capacità di elaborare dati, elementi che rendono un computer qualcosa di più di un riproduttore di sequenze. Furono proprio queste aggiunte a rendere rivoluzionario il progetto di Babbage.

In sintesi

  • All'inizio dell'Ottocento Jacquard perfezionò a Lione un telaio guidato da schede di cartone perforate.
  • Ogni foro comandava il sollevamento di un filo: una codifica a due stati, simile ai bit.
  • La separazione tra macchina e sequenza di istruzioni intercambiabile anticipa il concetto di programma.
  • Babbage adottò le schede di Jacquard per la macchina analitica, e le schede perforate restarono in uso nei computer per gran parte del Novecento.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica e in psicologia, unisce l'analisi tecnica alla comprensione del fattore umano.

Leggi anche