◷ Storia dell'informatica

Konrad Zuse e lo Z3: il calcolatore programmabile costruito a Berlino

La storia di Konrad Zuse, dallo Z1 costruito in casa allo Z3 a relè del 1941, fino al linguaggio Plankalkül: un pioniere spesso dimenticato.

Nei racconti sulle origini del computer si parla spesso di ENIAC e dei progetti britannici e statunitensi. Meno noto, almeno fuori dalla Germania, è Konrad Zuse, un ingegnere civile berlinese che tra la fine degli anni Trenta e l'inizio degli anni Quaranta costruì, quasi da solo e con mezzi limitati, una serie di calcolatori programmabili. Il suo Z3, completato nel 1941, è considerato il primo calcolatore programmabile e automatico effettivamente funzionante.

Un ingegnere stanco di fare conti

Zuse lavorava come ingegnere strutturale presso la Henschel, un'azienda aeronautica. Il suo lavoro richiedeva lunghi calcoli di statica, sempre con la stessa struttura: le stesse formule applicate a numeri diversi. Ne trasse una conclusione semplice: un lavoro così ripetitivo doveva poterlo fare una macchina.

Lasciò l'impiego per dedicarsi al progetto e cominciò a costruire il suo primo calcolatore nel soggiorno dell'appartamento dei genitori, a Berlino, con l'aiuto di amici e con fondi in buona parte familiari.

Lo Z1: meccanico e binario

Il primo modello, poi chiamato Z1, fu completato nel 1938. Era interamente meccanico: al posto di ingranaggi decimali usava sottili lamierini metallici scorrevoli che rappresentavano due posizioni. Già in questo prototipo Zuse fece tre scelte che si sarebbero rivelate decisive:

  1. Il sistema binario, invece di quello decimale usato da quasi tutte le calcolatrici dell'epoca.
  2. La virgola mobile, cioè la rappresentazione dei numeri con mantissa ed esponente, che permette di trattare valori molto grandi e molto piccoli con la stessa precisione relativa.
  3. La separazione tra memoria e unità di calcolo, un'organizzazione simile a quella immaginata da Babbage, che Zuse ha sempre dichiarato di non conoscere all'epoca.

Lo Z1 funzionava male, perché le parti meccaniche si inceppavano. Ma l'architettura era corretta.

Lo Z3: i relè

Zuse capì che il problema era il meccanismo, non il progetto. Dopo un modello di prova, lo Z2, che usava relè telefonici per l'unità aritmetica, costruì lo Z3, completato nel 1941 e realizzato interamente con relè elettromeccanici.

Le caratteristiche principali

Aspetto Z3
Tecnologia Relè elettromeccanici, circa 2.600
Rappresentazione Binaria, virgola mobile
Programma Letto da pellicola cinematografica perforata
Ingresso dati Tastiera decimale, con conversione automatica
Uscita Lampadine che mostravano il risultato

Il programma era registrato su pellicola da 35 millimetri usata, perforata secondo un codice. La macchina leggeva le istruzioni una alla volta ed eseguiva somme, sottrazioni, moltiplicazioni, divisioni e radici quadrate. La conversione tra decimale e binario era automatica, quindi l'operatore lavorava con numeri familiari.

Una precisazione importante

Lo Z3 non aveva un'istruzione di salto condizionato: il programma veniva eseguito in sequenza, con la possibilità di creare cicli unendo i due capi della pellicola. Per questo motivo non era, nella forma in cui fu progettato, un computer universale nel senso pieno. Molti decenni dopo, alla fine degli anni Novanta, è stato dimostrato che in linea teorica, con artifici di programmazione, avrebbe potuto simulare un comportamento universale. È un risultato interessante, ma più teorico che pratico.

La guerra e la distruzione

Zuse lavorò in un contesto difficile. Il governo tedesco mostrò un interesse limitato per i suoi progetti, che non considerava strategici. Lo Z3 originale fu distrutto durante un bombardamento su Berlino nel 1943. Negli anni Sessanta l'azienda fondata da Zuse ne costruì una replica, oggi conservata al Deutsches Museum di Monaco.

Il modello successivo, lo Z4, più potente, era in costruzione durante la guerra e fu trasferito fuori Berlino negli ultimi mesi del conflitto. Sopravvisse e nel 1950 fu installato al Politecnico federale di Zurigo, dove rimase in funzione per alcuni anni. Fu uno dei primi calcolatori al mondo in uso in un istituto scientifico.

Il Plankalkül

Durante e subito dopo la guerra, quando costruire macchine era impossibile, Zuse si dedicò alla teoria. Tra il 1942 e il 1945 progettò il Plankalkül, «calcolo dei piani», un linguaggio di programmazione di alto livello con variabili, strutture dati, assegnazioni e condizioni. È considerato uno dei primi linguaggi di alto livello mai progettati.

Il Plankalkül però non fu pubblicato integralmente fino al 1972 e non fu implementato all'epoca. Non influenzò quindi lo sviluppo dei linguaggi come FORTRAN o ALGOL, che seguirono strade indipendenti.

Zuse KG e l'industria

Nel 1949 Zuse fondò un'azienda, la Zuse KG, che produsse calcolatori per l'industria e la ricerca nei decenni successivi, prima di essere assorbita da altri gruppi. La sua storia mostra un altro aspetto della pionieristica informatica: l'isolamento. Lavorando senza contatti con i gruppi britannici e statunitensi, Zuse arrivò in modo indipendente a soluzioni molto simili, e in alcuni casi in anticipo.

Che cosa ci dice questa storia

L'esperienza di Zuse mostra che le scelte di rappresentazione contano quanto la tecnologia. Il binario e la virgola mobile, adottati fin dallo Z1, sono oggi lo standard di ogni processore. La virgola mobile moderna segue lo standard IEEE 754, ma l'idea di base è la stessa che Zuse realizzò con lamierini e relè.

In sintesi

  • Konrad Zuse costruì lo Z1, meccanico e binario, nell'appartamento dei genitori a Berlino, completandolo nel 1938.
  • Lo Z3, completato nel 1941, usava relè, numeri binari in virgola mobile e un programma letto da pellicola perforata.
  • Lo Z3 originale fu distrutto nel 1943; lo Z4 sopravvisse e fu usato al Politecnico di Zurigo dal 1950.
  • Zuse progettò anche il Plankalkül, uno dei primi linguaggi di alto livello, pubblicato solo nel 1972.
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