Era il 4 aprile 1975, esattamente 50 anni fa, quando Bill Gates e Paul Allen crearono Microsoft. La storia dell’azienda è nata, incredibilmente, con una rivista. A ricordarlo è lo stesso Gates in un lungo e appassionato post: il numero di gennaio 1975 di Popular Electronics aveva in copertina un sistema Altair 8800. Creato da una piccola azienda di elettronica chiamata MITS, era un kit per l’assemblaggio di un “computer personale” che prometteva di mettere nelle mani degli appassionati un sistema davvero all’avanguardia per quei tempi. “Quando Paul ed io vedemmo quella copertura, capimmo due cose: la rivoluzione dei personal computer era imminente e volevamo essere tra i primi a farne parte“, scrive oggi Gates.
Microsoft rilascia oggi quello che Gates considera il suo codice sorgente
Parafrasando il titolo del suo libro Source Code, in cui Gates rileva alcuni segreti di Microsoft, il co-fondatore della multinazionale statunitense pubblica quello che presente come il “codice sorgente” dell’azienda che ha fondato con Allen. Cliccate qui: questo è il codice sorgente originale di Altair BASIC, il primo software Microsoft, sviluppato nel 1975. Scrive Gates:
Quel codice rimane il più affascinante che io abbia mai scritto.
BASIC (Beginner’s All-purpose Symbolic Instruction Code) è un linguaggio di programmazione progettato per essere facile da imparare, che permetteva agli utenti di programmare l’Altair 8800, uno dei primi personal computer. Il codice sorgente di Altair BASIC ha segnato l’inizio di Microsoft ed è considerato una pietra miliare nella storia dell’informatica.
A metà anni ’70 il concetto di PC praticamente non aveva senso. Gates e Allen volevano sviluppare un software che permettesse alle persone di programmare l’Altair rivoluzionando il modo con cui le persone interagivano con queste macchine. Così, contattarono Ed Roberts, il fondatore di MITS, spiegando che avevano pronta (in realtà mentirono!…) una versione del linguaggio di programmazione BASIC per il chip che alimentava l’Altair 8800. Il fine ultimo era quello di portare un computer su ogni scrivania e in ogni casa.
Mi sembra ieri che Paul ed io eravamo piegati sulla PDP-10 nel laboratorio informatico di Harvard, scrivendo il codice che sarebbe diventato il primo prodotto della nostra nuova azienda (Bill Gates).
Il PDP-10 (Programmed Data Processor-10) fu uno dei primi grandi sistemi di calcolo sviluppato dalla Digital Equipment Corporation (DEC) negli anni ’60. Si trattava di una serie di computer mainframe progettata principalmente per l’uso nelle università, nei centri di ricerca e nelle istituzioni. La sua architettura era basata su un sistema a 36 bit, e supportava linguaggi di programmazione come il FORTRAN, il LISP e il BASIC, che erano utilizzati in molte delle applicazioni accademiche e di ricerca.
È diventato un simbolo della “Golden Age” dei mainframe ed è famoso, appunto, per essere stato usato dal duo Gates-Allen per realizzare il BASIC per l’Altair 8800.
Il BASIC come linguaggio che ha segnato la storia dell’informatica
Inventato nel 1964 da due professori del Dartmouth College, il BASIC era progettato per essere facile da imparare anche da persone senza esperienza in ambito informatico. Con poco studio e senza specifiche competenze tecniche, una persona poteva scrivere il proprio software in BASIC: da un programma per gestire un libro paga a un gioco del tris.
“Il BASIC è stato il primo linguaggio che Paul ed io abbiamo imparato (e viene ancora usato oggi)“, racconta Gates, riferendosi alle molteplici implementazioni che sono seguite negli anni. Lo stesso Visual Basic è un’evoluzione di quell’azzeccata intuizione.
I computer, tuttavia, non parlano e non parlavano il BASIC. E il linguaggio che parlano è così complesso e poco intuitivo che programmare così diventa un’impresa titanica. Per colmare questo gap, Gates e Allen hanno realizzato un interprete BASIC, che traduceva il codice in istruzioni che il computer capiva, eseguendo il programma riga per riga. In un altro articolo abbiamo parlato di linguaggio macchina e differenze tra compilazione e interpretazione.
I due fondatori di Microsoft vagliarono anche l’idea di realizzare un compilatore che traduceva l’intero programma e lo eseguiva tutto in una volta. Tuttavia, pensarono che l’approccio riga per riga di un interprete sarebbe stato utile per i programmatori alle prime armi, poiché avrebbe fornito un feedback immediato sul loro codice, permettendo loro di correggere gli errori in tempo reale.
Sviluppo senza il chip Intel 8080 dell’Altair 8800
Nel suo ricordo, a cinquant’anni di distanza, Gates osserva che lui e Allen non disponevano del chip Intel 8080 su cui l’Altair era basato. Quindi Allen si mise a scrivere un programma che simulava quel chip sul PDP-10 di Harvard. In questo modo fu possibile testare il software in corso di sviluppo senza avere un Altair fisico.
Gates si concentrò sulla stesura del codice principale, mentre un altro amico, Monte Davidoff, lavorava su una parte chiamata il “pacchetto matematico”.
Programmammo giorno e notte per due mesi per creare il software che avevamo detto esistesse già (Bill Gates).
La memoria dei computer all’epoca era costosa. Memoria extra per l’Altair poteva costare facilmente più del computer stesso, quindi ogni byte contava.
Così Gates, Allen e Davidoff pensarono che se fossero riusciti a far entrare il loro codice BASIC in soli quattro kilobyte, i possessori dell’Altair avrebbero ancora avuto abbastanza memoria per eseguire i programmi che avrebbero scritto, senza dover spendere troppo.
Per soddisfare questa limitazione, usai varie tecniche per ottimizzare l’uso della memoria, come strutture dati compatte e algoritmi efficienti. Fu una sfida divertente, e anche se Paul ed io eravamo stressati nel cercare di consegnare il nostro Altair BASIC a MITS il più rapidamente possibile, mi divertii un mondo a capire come far entrare tutto in 4 KB (Bill Gates).
Il successo di Altair BASIC
Dopo molte notti insonni, Gates e il suo team erano pronti per mostrare l’interprete BASIC a Ed Roberts. La dimostrazione ebbe successo tanto che MITS accettò di acquistare il software in licenza.
Fu un momento cruciale: Altair BASIC divenne il primo prodotto della nuova azienda, che in prima battuta Gates e Allen decisero di chiamare Micro-Soft (per poi eliminare in seguito il trattino).
Ecco perché il codice sorgente di Altair BASIC, che Gates condivide oggi dalle colonne del suo blog, è presentato come il “codice sorgente di Microsoft”.
È straordinario pensare a come questo singolo pezzo di codice abbia dato vita a mezzo secolo di innovazione da parte di Microsoft. Prima di Office, Windows 95, Xbox, prima delle soluzioni AI, c’era il codice sorgente originale, e mi diverto ancora a vederlo, anche dopo tutti questi anni (Bill Gates).
Con la famosa “Open Letter to Hobbysts” del 1976, Gates criticò aspramente chi utilizzava copie piratate di Altair BASIC. D’altra parte il numero elevatissimo di copie in circolazione contribuì a renderne ancora più colossale il successo. Da lì a MS-DOS e PC-DOS, con tutte le polemiche che ne seguirono (ne parliamo nell’articolo citato in apertura), fu un attimo. La strada era ormai segnata.
Credit immagini nell’articolo: The Gates Notes LLC