# Altair BASIC

L'Altair BASIC fu un interprete del linguaggio di programmazione BASIC.
Venne creato da Bill Gates e Paul Allen nel 1975 per il MITS Altair 8800, i quali fondarono la Micro-Soft. Fu distribuito in esclusiva da MITS fino al 1977, quando l'accordo fu sciolto.
L'Altair BASIC rappresenta una pietra miliare nella storia dell'informatica essendo il primo linguaggio di programmazione scritto per un personal computer. Fu anche il prodotto che lanciò commercialmente Microsoft: dopo la rescissione dell'accordo con MITS, le vendite del Microsoft BASIC, disponibile per una gran varietà di piattaforme hardware, fecero registrare alla fine del 1978 incassi per più di 1,3 milioni di dollari.

## Storia
### L'ideazione

Bill Gates e Paul Allen videro l'annuncio del nuovo Altair 8800 sul numero di gennaio 1975 della rivista Popular Electronics e capirono che i prezzi dei computer sarebbero nel giro di poco scesi a tal punto che la vendita di software per questo tipo di macchine sarebbe divenuto ben presto un mercato proficuo. Gates pensò che se quel computer fosse stato offerto con un interprete BASIC, sarebbe stato più interessante agli occhi degli hobbisti. Allen e Gates contattarono quindi il fondatore di MITS, Ed Roberts, dicendogli che stavano sviluppando un interprete BASIC e chiedendo di poter mostrare il loro linguaggio. Roberts fissò loro un incontro per il mese di marzo del 1975.

### L'utilizzo del PDP-10 ad Harvard

Tuttavia Allen e Gates avevano però mentito perché in realtà non avevano nessun interprete già pronto né un sistema Altair su cui svilupparlo. Allen aveva solo un emulatore dell'Intel 8008 (il predecessore dell'Intel 8080, la CPU usata nell'Altair 8800) che aveva scritto in precedenza per il loro sistema Traf-O-Data, che poteva girare sui PDP-10.
Gates all'epoca frequentava la Harvard University in cui era installato proprio un PDP-10: il computer era accessibile in time-sharing perché finanziato dal DARPA e gestito dal professor Thomas Cheatham e non di proprietà dell'università. Gates ed Allen decisero di usare l'accesso al computer di Gates come studente e passarono diverse settimane lavorando di notte all'interprete BASIC fatto girare sul loro emulatore adattato all'8080 in esecuzione sul PDP-10. Quando i responsabili di Harvard si accorsero che Gates ad Allen avevano consumato tutte le quote di accesso al computer a disposizione dell'università per interessi privati decisero di cambiare la politica delle quote ma non presero nessun provvedimento contro i due perché all'epoca non c'era ancora un regolamento in merito.

### Il perfezionamento

Dopo che fu loro vietato l'accesso al PDP-10 di Harvard, Gates ed Allen acquistarono delle quote di accesso presso una società di Boston per poter completare il loro BASIC. Assunsero anche Monte Davidoff, uno studente di Harvard, per scrivere le funzioni matematiche in virgola mobile per l'interprete, una caratteristica assente in diversi BASIC dell'epoca. L'interprete finito occupava meno di 4 kB di memoria e fu riversato su nastro perforato, un tipo di supporto che l'Altair 8800 poteva leggere. Allen volò quindi a Albuquerque, la sede di MITS, per incontrare Roberts. Durante il volo Allen si rese conto che non avevano scritto un boot loader, un programma cioè in grado caricare ed eseguire l'interprete: Allen prese quindi carta e penna e scrisse a mano una funzione in codice macchina che avrebbe permesso all'Altair 8800 di avviare il BASIC. Solo quando l'interprete fu caricato sull'Altair ed il software diede le dimensioni della memoria disponibile per i programmi, Allen seppe che l'interprete scritto da Gates era in grado di girare sull'Altair.

### Gli accordi per la distribuzione

Roberts si accordò con la neonata Micro-Soft, società fondata da Gates ed Allen il 4 aprile 1975 con lo scopo di commercializzare il BASIC, per l'uso dell'interprete sui propri computer, fornendo inoltre l'accesso ad un PDP-10 per completarne lo sviluppo.
Il 22 giugno 1975 MITS firmò un contratto per la distribuzione in esclusiva mondiale dell'Altair BASIC della durata di 10 anni, con la clausola di usare i "migliori sforzi" per dare in licenza, promuovere e commercializzare il programma. Grazie a tale contratto Micro-Soft riceveva subito 3.000$ in contanti e veniva fissata una royalty per ogni copia dell'interprete venduto: 30$ per la versione "4K", 35$ per la "8K" e 60$ per la versione "Extended". Il contratto aveva un tetto di royalty di 180.000$. Roberts assunse poi Allen, che lasciò il proprio lavoro presso Honeywell andando a ricoprire in MITS le cariche di vice-direttore dell'azienda e direttore del reparto software. Gates, ancora studente, fu messo sotto contratto come consulente esterno.

## Versioni

L'Altair BASIC fu distribuito nelle seguenti versioni:
* Altair BASIC: la versione originale, successivamente nota come 4K BASIC perché scritta per occupare (interprete e programma compresi) 4 kB di memoria. Di questi, restavano liberi per il codice dell'utente dai 727 ai 973 byte, a seconda delle funzioni abilitate in fase di inizializzazione dell'interprete. Per poter risiedere in questo minimo spazio Gates scrisse l'interprete in modo che ogni istruzione inserita dall'utente fosse memorizzata nella sua versione tokenizzata e non per intero. Conteneva inoltre delle funzioni matematiche in virgola mobile, una rarità nei BASIC del tempo. Le variabili potevano però essere lunghe solo 2 caratteri e l'esecuzione dei programmi seguiva l'ordine di inserimento delle linee: gli unici costrutti che potevano alterare il flusso di esecuzione del programma erano il ciclo FOR/NEXT e le istruzioni GOSUB/RETURN.
* Altair 8K BASIC: una versione estesa che conteneva più comandi ma richiedeva 8 kB di memoria: rispetto all'Altair 4K BASIC introduceva, tra gli altri, gli operatori booleani, altre funzioni matematiche, la possibilità di leggere/scrivere byte da qualunque porta di Input/output.
* Altair Extended BASIC: questa versione era essenzialmente identica alla precedente con l'unica differenza che i calcoli matematici erano eseguiti in doppia precisione.
* Altair Disk BASIC: questa versione derivava dall'Extended BASIC e fu distribuita specificatamente per permettere operazioni sui dischi quali la lettura/scrittura di file e la formattazione dei dischi.
* Altair Timesharing BASIC: anche questa versione derivava dall'Extended BASIC, a cui aggiungeva la capacità di gestire più utenti e di eseguire simultaneamente più programmi.

## La copia illegale dell'interprete

Nella primavera del 1975 MITS, per pubblicizzare i suoi prodotti, acquistò un camper ed iniziò un tour promozionale per gli Stati Uniti. Il camper, denominato "MITS Mobile", si spostava di città in città mostrando i prodotti MITS. Venivano organizzati anche seminari in sale convegni prese in affitto. Uno dei seminari più noti fu quello che si tenne al Rickey's Hyatt House a Palo Alto, California, i primi di giugno del 1975, dove Dan Sokol, un membro di un club di appassionati di computer denominato "Homebrew Computer Club", trafugò una copia dell'Altair BASIC che ancora non era stato ufficialmente messo in vendita. Sokol copiò il nastro perforato e le copie furono distribuite alla successiva riunione del club.
Quando fu messo in commercio, l'Altair BASIC aveva un grosso difetto: il prezzo. Era conveniente acquistarlo solo in abbinamento ad un computer Altair 8800 oppure ad una scheda di espansione di memoria: in questo caso il costo era competitivo, solo 75$. Ma se l'utente decideva di acquistarlo in un secondo tempo doveva sborsare una cifra molto elevata, circa 500$. Ma molti utenti non acquistavano le schede di espansione prodotte da MITS perché erano difettose: Roberts aveva infatti scartato le economiche e affidabili RAM statiche scegliendo le nuove e più costose DRAM, memorie che avevano un consumo energetico inferiore rispetto alle prime. Data la scarsa esperienza con questo nuovo tipo di memoria, gli ingegneri MITS ebbero molti problemi di progettazione e di componentistica con il risultato che la maggior parte delle schede realizzate tendeva a guastarsi. Fiorirono così diversi produttori indipendenti che offrirono schede di memoria basate sulle più affidabili SRAM.
Acquistando una scheda non MITS l'utente era poi costretto a dover acquistare l'Altair BASIC a prezzo pieno, ossia a 500$: essendo molti degli acquirenti del computer semplici hobbisti, essi preferivano comprare delle copie bootleg dell'interprete. Per questo motivo solo il 10% dei clienti acquistò l'Altair BASIC.
Roberts, nella sua rubrica personale del numero di ottobre di Computer Notes, la rivista pubblicata da MITS, riconosceva che le schede di espansione da 4 KB di DRAM avevano dei problemi e riduceva il prezzo delle stesse offrendo anche un rimborso di 50$ a chi le avesse già acquistate. Sempre su tale rubrica rifiutava però la proposta di un cliente di ridurre il prezzo dell'interprete facendo presente che il motivo di ciò era la presenza del contratto da 180.000$ di royalty stipulato con Micro-Soft e concludeva accusando chi copiava illecitamente l'Altair BASIC: «Chiunque stia usando una copia trafugata del MITS BASIC dovrebbe identificarsi per ciò che è, un ladro». Anche Bill Gates tornò sull'argomento, pubblicando sul numero di gennaio del 1976 di Computer Notes una lettera aperta intitolata Open Letter to Hobbyists in cui accusava direttamente di furto chi copiava il software.

## Lo scioglimento del contratto con MITS

I termini del contratto stipulato con MITS prevedevano una durata di 10 anni e MITS era libera di concedere in licenza l'Altair BASIC e tutte le versioni che ne derivavano: Gates ed Allen avevano effettuato il porting del linguaggio anche su altri microprocessori, come ad esempio il Motorola 6800 del nuovo Altair 680 presentato da MITS nel 1976. MITS aveva però l'esclusiva del BASIC: ciò significava che tutti i clienti che Micro-Soft trovava dovevano comunque rivolgersi a Roberts. Molti costruttori di computer erano potenzialmente interessati al BASIC di Gates ed Allen ma il contratto con MITS impediva loro di trattare direttamente per la concessione delle licenze. Roberts, da parte sua, era ben poco interessato a dare in licenza a terzi l'interprete, le cui vendite erano viste come una duratura fonte di introiti. L'opportunità per Micro-Soft di sganciarsi da MITS arrivò nel 1977, quando Pertec Computer, che aveva rilevato da poco la società, si rifiutò di concedere in licenza il BASIC ad altre società. Gates, forte del contratto che aveva firmato con Roberts che prevedeva che MITS compisse tutti gli sforzi necessari a pubblicizzare e commercializzare l'Altair nel migliore dei modi, citò la società in tribunale per inadempienza contrattuale, ottenendo la rescissione dell'accordo. MITS poté continuare ad usare il BASIC ma ne perse l'esclusiva: Micro-Soft poté quindi iniziare a commercializzarlo in proprio.
L'interprete BASIC fu il motore commerciale di Microsoft fino all'inizio degli anni ottanta, quando la società si concentrò sull'MS-DOS.