ENIAC: il primo computer programmabile della storia
- Prof. Romina

- 4 giorni fa
- Tempo di lettura: 9 min

Nel pieno della Seconda guerra mondiale, l’esercito statunitense si trovò davanti a una difficoltà che non era tecnologica ma numerica: per usare efficacemente l’artiglieria servivano tabelle di tiro estremamente precise, e calcolarle richiedeva una quantità enorme di lavoro umano.
Ogni combinazione di cannone, proiettile, distanza, inclinazione, vento, temperatura o densità dell’aria cambiava la traiettoria. Non esistevano calcolatori automatici: centinaia di giovani matematiche, i cosiddetti human computers, eseguivano a mano integrazioni numeriche con calcolatrici meccaniche.
Per una sola traiettoria potevano servire fino a 40 ore di lavoro umano, e ogni tavola di tiro richiedeva centinaia di traiettorie diverse. Anche usando macchine analogiche come il differential analyzer, completare una tabella poteva richiedere settimane. Il "differential analyze" (analisi differenziale) è un calcolatore analogico meccanico sviluppato tra la fine del XIX e l'inizio del XX secolo, progettato per risolvere equazioni differenziali complesse mediante meccanismi a ruota e a disco. Era una delle prime macchine avanzate, fondamentale anch'essa per calcoli balistici ed ingegneristici, in particolare nella versione perfezionata da Vannevar Bush nel 1927 al MIT.

Fu la pressione dettata da motivazioni belliche, più che la curiosità scientifica, in sostanza, a far nascere l'ENIAC.
L’ENIAC (Electronic Numerical Integrator and Computer) venne progettato da John Mauchly e J. Presper Eckert proprio per accelerare questi calcoli balistici per il Ballistic Research Laboratory dell’esercito.
Non era una calcolatrice veloce. Era qualcosa di concettualmente nuovo: una macchina capace di risolvere un’intera classe di problemi numerici riconfigurandosi per eseguire equazioni diverse.
Il suo stesso nome — Numerical Integrator — rivela la natura matematica del progetto: l’obiettivo era integrare numericamente equazioni differenziali.
La matematica alla base del moto del proiettile
Quando, negli anni ’40, si parlava di “calcolare una traiettoria balistica”, non si intendeva determinare una semplice parabola, ma risolvere un problema dinamico complesso, descritto da equazioni differenziali che non ammettono soluzioni analitiche elementari.
La fisica reale del moto di un proiettile è governata dalla seconda legge della dinamica:
dove la forza totale non è soltanto la gravità, ma la somma di più forze che agiscono sul proiettile.
Le forze che intervengono sono le seguenti:
1) La resistenza aerodinamica
È la forza che l’aria esercita su un corpo che si muove al suo interno.
Dal punto di vista fisico è l’effetto degli urti tra il corpo in movimento e le molecole dell’aria. Ogni urto sottrae un po’ di energia al corpo, producendo un’azione complessiva che si oppone alla velocità.
È la forza dominante nella balistica reale ed è funzione della velocità:
Non è costante, ma cambia continuamente perché dipende da:
velocità istantanea del proiettile;
densità dell’aria (variabile con quota e temperatura);
forma e rotazione del proiettile.
Questa dipendenza rende l’equazione non lineare.
2) La variazione delle condizioni atmosferiche
Durante il volo:
la densità dell’aria diminuisce con l’altitudine;
la temperatura modifica la viscosità del mezzo;
eventuali venti introducono componenti laterali.
Il sistema non è quindi a coefficienti costanti.
3) La gravità
La gravità è espressa dalla seguente relazione:
ma il suo effetto si combina con una dissipazione energetica continua dovuta all’attrito. Infatti nel moto di un proiettile la gravità è sempre presente e agisce in modo semplice e costante, tirando l’oggetto verso il basso; se esistesse solo questa forza, la traiettoria sarebbe una parabola facilmente descrivibile con una legge matematica. Nella realtà, però, mentre la gravità lo fa scendere, l’aria lo frena continuamente con una forza che cambia di istante in istante perché dipende dalla velocità del proiettile, che sta a sua volta cambiando proprio a causa della gravità. Questa interazione tra una forza costante (la gravità) e una forza variabile (la resistenza dell’aria) rende il moto molto più complesso e costringe a ricalcolare passo dopo passo la posizione e la velocità, invece di poter usare un’unica espressione matematica.
Il modello matematico
Per descrivere in modo realistico il volo di un proiettile bisogna tenere conto contemporaneamente della gravità e della resistenza dell’aria. Dal punto di vista matematico, questo porta a un sistema di equazioni differenziali che lega tra loro posizione e velocità.
Il modello può essere scritto così:
La seconda equazione è la più intuitiva:dice semplicemente che la variazione della posizione nel tempo è la velocità. In altre parole, la velocità descrive come cambia la posizione.
La prima equazione descrive, invece, come cambia la velocità: essa è dovuta alla somma di due effetti:
g⃗ , l’accelerazione di gravità (costante e diretta verso il basso);
il termine
rappresenta la resistenza dell’aria, una forza che dipende dalla velocità e si oppone al moto.
Questo sistema è non lineare, perché la resistenza aerodinamica dipende dal modulo della velocità. Proprio questa dipendenza rende impossibile trovare una soluzione esplicita con le normali funzioni matematiche.
Non esiste una legge diretta che permetta di scrivere direttamente x(t).
L’unico modo è procedere numericamente:
si divide il tempo in intervalli molto piccoli;
si calcola come cambiano velocità e posizione in ciascun intervallo;
si ripete il procedimento molte volte.
La traiettoria viene così costruita passo dopo passo.
Ed è proprio la necessità di eseguire automaticamente questa enorme quantità di operazioni ripetitive che portò alla realizzazione di macchine come l’ENIAC, progettate per risolvere numericamente sistemi di equazioni di questo tipo.
Le donne: le prime programmatrici.
All’inizio degli anni ’40, per le donne laureate in matematica non c'erano molte possibilità di carriera e l’insegnamento, essendo il lavoro femminile più rispettato e pagato meglio, rappresentava quasi una scelta obbligata. Con la Seconda guerra mondiale, però, la situazione subì un cambiamento: gli uomini erano al fronte e gli Stati Uniti si trovarono a corto di forza lavoro qualificata per la ricerca scientifica e i progetti militari. Vennero quindi avviate campagne intensive di reclutamento di donne in discipline tecniche come l’ingegneria e la matematica, settori tradizionalmente maschili.
Nel 1942, l’esercito degli Stati Uniti pubblicò un annuncio rivolto alle giovani laureate in matematica per lavorare al Ballistic Research Laboratory (BRL) presso l'Aberdeen Proving Ground, una base militare nel Maryland, e alla Moore School of Electrical Engineering dell’Università della Pennsylvania. Risposero centinaia di donne laureate in matematica e che non vedevano nell'insegnamento la realizzazione dei propri sogni.
Il lavoro consisteva nell’elaborare tabelle balistiche dettagliate che descrivessero le traiettorie dei proiettili, fondamentali per aiutare i soldati a colpire i nemici con precisione. Questo richiedeva di determinare la posizione del proiettile ad ogni frazione di secondo, svolgendo tutti quei calcoli di cui prima abbiamo parlato. Questo richiedeva enormi quantità di tempo e lavoro manuale concretizzato spesso in giorni interi per completare una sola tabella.
Furono quindi assunte più di 200 donne laureate in matematica, chiamate “computers” o “calcolatrici”, per calcolare le traiettorie a mano, senza manuali e senza insegnanti, o usando un strumento chiamato Differential Analyzer, di cui abbiamo già parlato. Questo strumento, basato su ingranaggi e dischi rotanti, riduceva il tempo di calcolo a soli 15 minuti, ma richiedeva una forte supervisione umana per l’impostazione dei parametri e l’interpretazione dei risultati.

Nel 1943, mentre centinaia di "computers" eseguivano complessi calcoli balistici a mano, un team guidato dagli ingegneri John Mauchly e John Presper Eckert stava lavorando ad un progetto segreto: un computer elettronico che potesse eseguire quei calcoli in pochi secondi. La macchina, chiamata Electronic Numerical Integrator and Computer (in breve ENIAC), costata 500mila dollari di allora (6 milioni di dollari attuali), era grossa circa 180 metri quadri, pesava 30 tonnellate e conteneva 18.000 valvole termoioniche, soggette a frequenti guasti. L'ENIAC aveva una capacità di 5000 operazioni al secondo e per questo rappresentava un grande passo avanti, anche se mancava ancora un elemento cruciale: come tradurre le equazioni matematiche in un linguaggio comprensibile per la macchina.

Per risolvere questa sfida, Herman Goldstine, il responsabile militare del progetto, scelse sei delle migliori computers. Le addestrò su come inserire gli input e come leggere gli output dell’ENIAC e delegò loro lo sviluppo del software rendendole le programmatrici dell’ ENIAC.
A differenza di oggi, dove per programmare si scrivono linee di codice utilizzando una tastiera, le programmatrici dell'ENIAC lavoravano direttamente sull'hardware. Dovevano fisicamente cablare la macchina, collegando migliaia di cavi, impostando interruttori e controllando il flusso di dati attraverso le varie unità della macchina. Senza linguaggi di programmazione e con accesso limitato ai manuali per via della segretezza del progetto, per lavorare procedevano per tentativi basandosi sui pochi diagrammi a loro disposizione. Testavano i programmi su carta prima di provarli sull’ENIAC, perché ogni errore significava dover cablare di nuovo tutto. Far funzionare un programma poteva richiedere settimane di lavoro manuale. Con il tempo, divennero così esperte da poter individuare con precisione, in caso di errore, quale valvola termoionica avesse causato il malfunzionamento.
Nell’ENIAC non esistevano tastiera e schermo: l’interazione con la macchina avveniva tramite schede perforate e pannelli di controllo. Tutto era fisico, tangibile.
1) L’input: come si inserivano i dati
I dati iniziali del problema venivano preparati su schede perforate di cartoncino, simili a quelle usate nelle macchine statistiche IBM.
Su ogni scheda:
i numeri erano rappresentati da combinazioni di fori;
ogni colonna corrispondeva a una cifra o a un’informazione;
una sequenza di schede costituiva l’insieme dei dati da elaborare.
Le schede venivano inserite in un lettore collegato all’ENIAC, che trasformava la presenza o assenza dei fori in segnali elettrici. In questo modo la macchina riceveva:
valori iniziali (per esempio velocità e angolo di tiro);
costanti fisiche;
sequenze numeriche da elaborare.
Altri parametri potevano essere impostati manualmente tramite interruttori sui pannelli.
2) L’output: come si ottenevano i risultati
Una volta completato il calcolo, l’ENIAC inviava i risultati a dispositivi esterni, soprattutto:
perforatrici di schede, che registravano i numeri calcolati su nuove schede;
stampanti elettromeccaniche, che producevano tabelle numeriche su carta.
Nel caso delle applicazioni balistiche, l’output era costituito da lunghe tavole di valori: distanze, tempi, angoli corretti.Queste tabelle venivano poi lette e utilizzate direttamente dagli operatori.
Il flusso di lavoro era quindi:
preparare i dati su schede perforate;
configurare la macchina con cavi e interruttori;
eseguire il calcolo;
ottenere i risultati di nuovo su schede o su stampe.
Non esisteva ancora la distinzione moderna tra hardware, software e memoria:l’informazione entrava e usciva dall’ENIAC sotto forma di oggetti fisici.
Volendo confrontare i vari metodi:
METODO DI CALCOLO | STRUMENTI | TEMPI DI CALCOLO |
Calcolatrici umani | Calcolatrici meccaniche | 40 ore |
Differential Analyzer | Ingranaggi e dischi | 15 minuti |
ENIAC | Valvole termoioniche | 15 secondi |
Il successo dell'ENIAC
Finita la guerra, dopo anni di lavoro segreto, decisero di presentare ENIAC al mondo. A pochi giorni dalla dimostrazione, Herman Goldstine incaricò Betty Snyder e Jean Jennings di programmare il calcolo di una traiettoria balistica per l’evento. Di fatto, la procedura aveva ancora dei difetti e le due trascorsero giorni interi a cercare di correggerli. La notte prima dell’evento si resero conto di un errore: il proiettile virtuale di cui dovevano calcolare la traiettoria continuava a scendere all'infinito e non si fermava in corrispondenza del suolo. Tornarono nelle loro abitazioni scoraggiate, ma la mattina seguente Betty si svegliò con un’intuizione. Arrivata davanti all’ENIAC, lo guardò, tirò su un singolo interruttore e risolse il problema. Come disse Jean successivamente: "Betty da addormentata ne capiva di logica più della maggior parte delle persone da sveglie".
Così, il 15 febbraio 1946, davanti agli occhi increduli di generali, scienziati e giornalisti, l’ENIAC eseguì in pochi secondi un calcolo che avrebbe richiesto 40 ore se fatto a mano. I risultati di questi calcoli vennero stampati e distribuiti ai partecipanti come souvenir. Per festeggiare la dimostrazione si tenne una cena di gala a cui, però, Betty e Jean non furono invitate.
Nei giorni successivi, il New York Times celebrò l’ENIAC come una rivoluzione tecnologica. Scrisse che la macchina poteva calcolare una traiettoria in 15 secondi, ignorando i giorni di lavoro necessari per programmare l’operazione. Anche le immagini diffuse rafforzarono questa narrazione. Una delle immagini più iconiche mostra un uomo in uniforme che collega i cavi dell’ENIAC, mentre le programmatrici appaiono sullo sfondo, poco visibili. Quando la stessa fotografia venne utilizzata per una campagna di reclutamento militare, le due donne furono completamente eliminate dalla foto. Questa rimozione rifletteva perfettamente il pensiero dell’epoca. Per quanto negli anni quaranta ci fossero intense campagne per il reclutamento delle donne, il loro ruolo nella forza lavoro era comunque visto come una risposta a un bisogno temporaneo. Come spiega una guida per dirigenti del 1943: "Le donne possono essere addestrate a fare qualsiasi lavoro, ma ricordate che "una donna non è un uomo"; una donna è un sostituto, come la plastica al posto del metallo".
Non deve quindi sorprenderci che la loro storia rimase sommersa fino al 1986, quando arrivò al pubblico grazie alle ricostruzioni di Kathy Kleiman. Ora il loro lavoro è finalmente stato riconosciuto e le 6 programmatrici sono state ufficialmente inserite nella Women in Technology International Hall of Fame nel 1997. Il computer da loro programmato, dopo dieci anni di onorata carriera, nel 1955, fu messo in pensione.
Quindi, queste sei donne unitamente ad Ada Lovelace furono le prime programmatrici indiscusse della storia.

Fonti
ANSA Scienza — Installato 80 anni fa il primo computer programmabile della storia, 15 febbraio 2026https://www.ansa.it/canale_scienza/notizie/fisica_matematica/2026/02/15/installato-80-anni-fa-il-primo-computer-programmabile-della-storia-_93541d20-1463-4543-b7d1-6fe1657c26f0.html
Geopop — Come sei matematiche hanno cambiato la storia dell’informatica: chi erano le programmatrici dell’ENIAChttps://www.geopop.it/come-sei-matematiche-hanno-cambiato-la-storia-dellinformatica-chi-erano-le-programmatrici-delleniac/
Computer History Museum — documentazione storica e tecnica sull’ENIAChttps://computerhistory.org
University of Pennsylvania, ENIAC Project Archive — archivio storico ufficiale, fotografie e descrizioni tecnichehttps://eniac.seas.upenn.edu
Haigh, Thomas; Priestley, Mark; Rope, Crispin — ENIAC in Action: Making and Remaking the Modern Computer, MIT Press, 2016
Campbell-Kelly, Martin; Aspray, William — Computer: A History of the Information Machine, Routledge (edizioni varie)
IEEE Annals of the History of Computing — articoli sulla storia del calcolo elettronico e sulle applicazioni scientifiche dell’ENIAChttps://www.computer.org/csdl/magazine/an




Commenti