Dartmouth BASIC
Il Dartmouth BASIC è la versione originale del linguaggio di programmazione BASIC (acronimo di Beginner’s All-purpose Symbolic Instruction Code). Prende il nome dal Dartmouth College, l'istituto statunitense in cui i programmatori John Kemeny e Thomas Kurtz hanno progettato il BASIC nel 1964.
Il linguaggio era inizialmente progettato per funzionare su sistemi che utilizzavano lettori di schede perforate. La prima versione interattiva venne resa disponibile nel giugno 1964, seguita da una seconda nell’ottobre dello stesso anno. Le versioni successive apparvero nel 1966 (terza), nel 1969 (quarta), nel 1970 (quinta), nel 1971 (sesta) e infine nel 1979 (settima e ultima).
Storia
Il progetto era motivato dall’idea che tutti gli studenti, anche quelli non di ambito matematico o scientifico, dovessero poter accedere all’informatica. Kemeny e Kurtz volevano dunque un linguaggio semplice, comprensibile e interattivo.
Il linguaggio BASIC venne sviluppato parallelamente al suo compilatore ed al sistema operativo, permettendo già nel 1964 l’esecuzione dei primi programmi in modalità batch. Tuttavia, il 1º maggio dello stesso anno, John Kemeny e John McGeachie eseguirono i primi programmi BASIC direttamente dai terminali del sistema DTSS. Quei programmi erano estremamente semplici, costituiti da una sola istruzione: PRINT 2 + 2
La seconda versione del BASIC introdusse modifiche minime, tra cui l’aggiunta del punto e virgola al comando PRINT.
Con la terza versione furono introdotti comandi più avanzati: INPUT per l’acquisizione dei dati, MAT per le operazioni sulle matrici e RESTORE da usare insieme a READ/DATA. La quarta versione ampliò le funzionalità con la gestione del testo e delle variabili, mentre la quinta introdusse la gestione dei file.
La sesta versione permise l’uso di procedure con parametri e rappresenta la base da cui derivarono quasi tutti i dialetti successivi del BASIC. Nel 1976, Steve Garland aggiunse la programmazione strutturata al Dartmouth SBASIC, un pre-compilatore che generava programmi compatibili con la versione 6, gettando così le fondamenta per lo standard ANSI BASIC.
Infine, nel 1979, Kemeny e Kurtz commercializzarono un compilatore ANSI BASIC come settima e ultima versione del BASIC di Dartmouth, prima di lasciare il college per dedicarsi allo sviluppo dell’ANSI BASIC sotto il nome di True BASIC.
Interfaccia utente
Il DTSS offriva una forma rudimentale di ambiente di sviluppo basato su una riga di comando. Non era previsto un comando per uscire volontariamente da questo ambiente: se l’utente rimaneva inattivo per un certo periodo di tempo, il sistema terminava automaticamente la sessione. Le righe che iniziavano con un numero venivano aggiunte al programma in costruzione, mentre i comandi privi di numero di linea venivano eseguiti immediatamente.
Lista dei comandi DTSS
Di seguito è riportato un elenco dei comandi dell’ambiente DTSS che, contrariamente a quanto molti studenti credevano, non appartenevano al linguaggio BASIC. Questi comandi, infatti, venivano utilizzati anche per l’inserimento di programmi scritti in altri linguaggi di programmazione, come l'ALGOL od il FORTRAN.
HELLO—per accedere al DTSSBASIC—modalità BASICNEW—per iniziare a scrivere un nuovo programmaOLD—per caricare un programmaLIST—mostra il programma correnteSAVE—per salvare un programmaUNSAVE—per cancellare un programmaCATALOG—per mostrare i nomi dei programmiSCRATCH—per cancellare il programma correnteRENAME—per cambiare il nome al programmaRUN—per eseguire il programma correnteSTOP—per interrompere il programma corrente
Il linguaggio supportava anche l’aritmetica e l’uso di variabili a virgola mobile. I nomi delle variabili potevano essere composti solo da lettere dell’alfabeto, eventualmente seguite da una singola cifra: erano quindi ammessi nomi come A, B, Z, A0–A9, B0–B9, e così via, per un totale di 286 combinazioni possibili.
Gli array, invece, potevano avere come nome soltanto una lettera (da A a Z). Non era necessario dichiararne la dimensione con il comando DIM; in assenza di specifica, la dimensione predefinita era pari a 10 elementi, con indici che partivano da 1.
Lista delle istruzioni BASIC
DEF—definizione di funzioni a singola rigaDIM—definizione di un arrayEND—fine dell'esecuzione del programmaSTOP—interruzione dell'esecuzione del programmaFOR / TO / STEP—gestione del cicloNEXT—fine del cicloGOSUB—salta ad una routineRETURN—fine della routine e ritorna all'istruzione chiamanteGOTO—salta ad un numero di rigaIF / THEN—istruzione di condizioneLET / =—definizione di funzione matematicaPRINT—stampa di valoriDATA—memorizzazione di dati nel programmaREAD—lettura di dati memorizzati con DATAREM—commento
Lista di operatori
| Operatore aritmetico | Operatore logico | ||
|---|---|---|---|
-
|
Negazione (unario) | =
|
Uguale a |
+
|
Addizione | <>
|
Non uguale a |
-
|
Sottrazione | <
|
Inferiore a |
*
|
Moltiplicazione | <=
|
Inferiore o uguale a |
/
|
Divisione | >
|
Maggiore a |
^
|
Potenza | >=
|
Maggiore o uguale a |
| Operatori di raggruppamento | |||
( )
|
Raggruppamento | ||
Lista di funzioni
INT—InteroABS—AssolutoSQR—Radice quadrataSIN—SenoCOS—CosenoATN—ArcotangenteLOG—LogaritmoEXP—EsponenzialeRND—Valore casuale
Voci correlate
Bibliografia
- Kemeny, John G. (1985): Back to Basic: The History, Corruption and Future of the Language. Addison-Wesley Longman Inc. ISBN 0201134330. (In inglese)
- BASIC manual. Dartmouth College Computation center, 1964. (In inglese)