Microsoft BASIC

Il Microsoft BASIC è stato il primo prodotto della Microsoft.

Apparso nel 1975 come Altair BASIC, è stato il primo BASIC, e di fatto il primo linguaggio di programmazione ad alto livello, disponibile per l'Altair 8800.

L'interprete BASIC dell'Altair fu sviluppato dai fondatori della Microsoft Paul Allen e Bill Gates, con l'aiuto di Monte Davidoff, utilizzando un emulatore software dell'Intel 8080 sviluppato da loro stessi e fatto girare su un minicomputer, il PDP-10.

La distribuzione

[modifica | modifica wikitesto]

Il Microsoft BASIC venne originariamente distribuito su nastro perforato e la sua versione originale richiedeva 4 kB di memoria. La versione estesa, che ne richiedeva 8, fu distribuita come BASIC-80 per i processori Intel 8080/85 e Zilog Z80, come BASIC-68 per il Motorola 6800 e come BASIC-69 per il 6809. La Commodore ne ordinò una versione specifica per i suoi processori MOS Technology 6502, che distribuì come Commodore BASIC: in questo caso il software raggiunse la ragguardevole dimensione di 9 kB, in un'epoca in cui la dimensione standard dei chip di ROM era di 8 KB. Apple lo usò sui suoi computer Apple II come Applesoft BASIC. Ne fu eseguito il porting anche per i computer a 16 bit con l'uscita del BASIC-86, specifico per i processori Intel 8086 e l'8088.

Dopo il successo iniziale dell'Altair BASIC, il Microsoft BASIC divenne la base per un lucroso sistema di affari basato sulla concessione di licenze d'uso del software, dal momento che fu portato sulla maggioranza dei numerosi home e personal computer degli anni settanta ed ottanta, aggiungendo via via nuove funzioni. A differenza dell'Altair BASIC, la maggior parte degli interpreti BASIC per gli home computer risiedeva nella ROM ed era, quindi, disponibile immediatamente all'accensione della macchina, con il caratteristico prompt "READY.". Gli interpreti BASIC costituirono, quindi, una parte significativa e visibile dei sistemi operativi di molti rudimentali home computer.

Il Microsoft BASIC (BASICA, GW-BASIC, QuickBASIC e QBASIC) non è più incluso nelle più recenti versioni di Windows, ma può essere scaricato da vari siti internet. L'ultima incarnazione del BASIC di Microsoft è il Visual Basic .NET, che incorpora molte delle funzioni del C++ e del C# e può essere usato per lo sviluppo di form e applicazioni server.

Caratteristiche

[modifica | modifica wikitesto]

Il dialetto del BASIC era simile a quelli della Digital Equipment Corporation, soprattutto nei costrutti per la manipolazione delle stringhe, che variano nelle diverse implementazioni del linguaggio. Il Microsoft BASIC usava stringhe allocate dinamicamente che memorizzavano la loro grandezza, una caratteristica assente in C o in C++ fino alla creazione della Standard Template Library negli anni novanta. Molte di queste operazioni sulle stringhe sono ancora valide nel framework .NET. Le prime versioni del BASIC supportavano soltanto nomi di variabile dati da un singolo carattere alfanumerico, mentre il Microsoft BASIC anche i nomi lunghi per le variabili. Tuttavia, la tabella dei simboli da utilizzare al momento dell'esecuzione del programma utilizzava una ricerca lineare: per questo motivo un programma che utilizzava molte variabili distinte veniva eseguito dall'interprete molto più lentamente di un altro che utilizzava magari un unico array per tutte le sue variabili.

Il Microsoft BASIC era un prodotto ideale per i computer che integravano parti del sistema operativo su ROM: dal momento che non richiedeva né un editor di testo (ogni riga veniva inserita a video semplicemente antecedendo un numero ai comandi) né una memoria di massa su cui memorizzare il codice oggetto o l'eseguibile (questo era salvato direttamente in memoria), esso era sicuramente il linguaggio adatto ad home e personal computer, macchine meno sofisticate dei desktop industriali dell'epoca che avevano funzionalità apposite per l'editing, la memorizzazione e il debugging ma con un prezzo sensibilmente superiore (7.000 dollari contro i 1.500 dollari di media dei microcomputer dell'epoca).

Varianti e derivati

[modifica | modifica wikitesto]

Voci correlate

[modifica | modifica wikitesto]