- Il primo “programma” non girava su nessuna macchina
- Quando programmare significava spostare cavi
- Le prime programmatrici erano ingegnere elettriche
- L’unico linguaggio nativo: 0 e 1
- Il trucco geniale: usare un programma per scrivere programmi
- Ogni livello costruisce il livello successivo
- Il famoso primo “bug”
- L'importanze che ha questa storia ancora oggi
- Conclusione
Oggi digitiamo codice su una tastiera, premiamo “Invio” e un computer esegue milioni di operazioni al secondo senza battere ciglio. Abbiamo perfino intelligenze artificiali (AI) che generano software e compilatori che traducono linguaggi complessi in istruzioni eseguibili.
Oggi è tutto normale, tutto scontato. Ma non è stato sempre così. Come ci siamo arrivati?
All’inizio non esisteva nulla di tutto questo.
Niente linguaggi.
Niente tastiere.
Niente schermi.
Niente file.
Solo esseri umani… e macchine che non sapevano ancora cosa fosse un programma. E, infatti, qualcuno, a un certo punto, ha dovuto spiegarglielo.
Il primo “programma” non girava su nessuna macchina
Nel 1843, Ada Lovelace scrisse quello che oggi consideriamo il primo algoritmo della storia.
Non su un computer.
Non su una macchina funzionante.
Su carta.
La macchina per cui scriveva, la Macchina Analitica di Charles Babbage, non venne mai completata ma Ada descrisse passo dopo passo come quella macchina avrebbe dovuto calcolare i numeri di Bernoulli.
In pratica Ada:
- definì variabili
- descrisse cicli
- stabilì una sequenza logica di operazioni
Senza mai vedere un computer reale.
Il suo “programma” era una tabella di istruzioni matematiche. Un’idea pura. Prima ancora che esistessero le macchine, esisteva già il concetto di software.
Quando programmare significava spostare cavi
Facciamo un salto di cento anni.
Anni ’40, arriva l’ENIAC, uno dei primi computer elettronici; era grande quanto una stanza, aveva un consumo elettrico spaventoso, nessun sistema operativo e zero memoria per salvare programmi.
Programmare l’ENIAC significava letteralmente:
- collegare cavi
- girare manopole
- impostare interruttori
Se volevi cambiare programma, non aprivi un file, smontavi la configurazione precedente e ne costruivi un’altra. Il programma era la disposizione fisica dell’hardware e il software… era cablaggio.
Le prime programmatrici erano ingegnere elettriche
Gran parte di questo lavoro veniva svolto da donne, chiamate “computers” (calcolatrici umane). Erano loro a progettare i percorsi dei segnali, verificare i flussi logici e a testare le configurazioni; altro che “premi questo bottone”.
Era ingegneria pura.
Il computer non capiva parole.
Capiva solo tensione elettrica.
L’unico linguaggio nativo: 0 e 1
Quando i computer iniziarono a poter memorizzare dati, nacque il codice macchina, ovvero combinazioni di Sequenze di bit come questa: 10110000 01100001.
Ogni sequenza corrispondeva a un’istruzione.
I programmatori inserivano questi numeri con interruttori sul pannello frontale dal calcolatore:
- scegli l’indirizzo di memoria
- imposta i bit
- premi “deposit”
- ripeti
Per migliaia di righe. Un singolo errore significava programma rotto. Altro che debugging moderno.
Il trucco geniale: usare un programma per scrivere programmi
A un certo punto qualcuno ebbe un’idea brillante: Scriviamo un minuscolo programma in codice macchina che sappia leggere istruzioni scritte in forma più umana.
Nasce così il bootstrap.
Passaggi:
- Scrivi a mano un mini-programma in binario
- Quel mini-programma carica un altro programma più grande
- Il programma più grande è un assembler
Da lì in poi puoi scrivere: “ADD A, B MOV C, A” invece di: “01101010 00001010″
Il computer ora poteva aiutare a programmare il computer. La civiltà informatica inizia esattamente qui.
Ogni livello costruisce il livello successivo
Da quel momento in poi:
Codice macchina → Assembly
Assembly → C
C → C++ / Java / Python
Python → Framework
Framework → AI che scrive codice
Ogni generazione crea strumenti per rendere la successiva più semplice. Non c’è stato un salto magico. Solo una lunghissima scala.
Il famoso primo “bug”
La parola “bug” nasce letteralmente da un insetto. Andò così: nel 1947 una falena rimase incastrata in un relè del computer Harvard Mark II, causando un malfunzionamento.

Fu incollata su un registro con la nota: First actual case of bug being found.
Già, fare debugging, in origine, implicava letteralmente togliere animali morti dal computer. Oggi significa trovare una riga sbagliata.
Progressi notevoli.
L’importanze che ha questa storia ancora oggi
Quando diciamo che un’IA “programma”, stiamo osservando l’ultimo strato di una pila costruita in due secoli.
Un’IA non “nasce” dal nulla. È il risultato di:
- matematica
- logica
- elettronica
- software
- linguaggi
- compilatori
- sistemi operativi
e infine modelli statistici.
Ogni riga generata oggi esiste perché qualcuno, nel 1945, ha girato per la prima voltauna manopola.
Conclusione
La cosa più impressionante non è che le IA scrivano codice, la cosa impressionante è che:
abbiamo insegnato alle macchine ad autoistruirsi.
Partendo da carta e matita.
Passando per cavi e valvole.
Arrivando a modelli che scrivono programmi.
Non è magia, è una delle più lunghe catene di ingegno umano mai costruite.
E sì. Pensarci fa un certo effetto.





































