Il Beta BASIC era un interprete BASIC sviluppato per gli home computer Sinclair ZX Spectrum da Andy Wright e commercializzato da BetaSoft, una società da lui fondata. BetaSoft curava anche la pubblicazione di una newsletter/rivista a cadenza periodica denominata "BetaNews", che rappresentava uno dei principali forum del tempo per i programmatori dello Spectrum più esperti.[1]

Sviluppato inizialmente come estensione del Sinclair BASIC crebbe nel tempo fino a diventare un interprete vero e proprio.

Caratteristiche

Il Beta BASIC era un programma del tipo TSR (Terminate and Stay Resident) che si sostituiva completamente all'interprete Sinclair BASIC dello ZX Spectrum che, come in molti altri microcomputer dell'epoca, era anche il suo sistema operativo, offrendo un'interfaccia a riga di comando (CLI, Command Line Interface) e l'editor a schermo per i programmi, oltre che rappresentare l'unico modo per gestire le risorse del computer.

Il Beta BASIC offriva nuovi CLI ed editor che supportavano sia il particolare modo di inserimento dei comandi BASIC dello ZX Spectrum basato sulla pressione di singoli tasti sia la classica digitazione lettera per leggera delle parole chiave, che risultava molto più rapida nel caso in cui l'utente avesse collegato al computer una tastiera completa. Inoltre il Beta BASIC estendeva il sistema a singoli tasti mappando i caratteri "grafici" dello Spectrum con nuove combinazioni. Per passare tra le varie modalità l'utente doveva semplicemente premere la barra spaziatrice: questa azione provocava il cambio di stato del cursore fra "K" (per Keyword), la modalità a parole chiave, "L" (per Lowercase), la tastiera normale con lettere minuscole, e "C" (per Capital), la tastiera con le lettere maiuscole. L'istruzione KEYWORDS poteva essere usata per alterare lo stato di inserimento, ad esempio disattivando la modalità "K".

Un'altra caratteristica del Beta BASIC era la possibilità di formattare il testo durante la digitazione. Anche il Sinclair BASIC permetteva questa possibilità ma il Beta BASIC lo faceva in automatico così che ad esempio era possibile accorgersi meglio della chiusura dei cicli usando l'indentazione delle righe. Un'altra caratteristica era l'evidenziatura della linea corrente e la possibilità di muovere il cursore su e giù, a destra ed a sinistra, un'evidente aiuto durante la scrittura di lunghe linee di codice.

Il Beta BASIC era un interprete nel vero senso del termine, sostituendosi completamente a quello dello Spectrum residente in ROM, che usava come libreria effettuando delle chiamate a delle funzioni che non erano replicate nel codice del Beta BASIC principalmente per non consumare troppa memoria: l'interprete girava infatti come programma ed utilizzava parte dei 48 KB di RAM dello Spectrum, lasciando liberi i restanti per i programmi dell'utente.

Modifiche al linguaggio

Rispetto agli interpreti contemporanei, il Beta BASIC era molto sofisticato: supportava la programmazione strutturata con funzioni e procedure indicate con nomi e variabili locali, permettendo programmazione ricorsiva. Anche se l'editor supportava i numeri di linea, essi non erano necessari: esisteva infatti una particolare modalità operativa che saltava completamente la loro visualizzazione. Infine, esso offriva operazioni sugli array e comandi per l'accesso ai file su disco o cassetta.

Note

  1. ^ Philip M. Parker, Advancements: Webster's Quotations, Facts and Phrases, ICON Group International Inc., 2008, p. 473, ISBN 0-546-67381-3.