SSB, un nuovo modo di programmare in SuperBASIC

Il SuperBASIC, come ben sappiamo, è uno dei più potenti linguaggi di programmazione esistenti sulla piattaforma QL, con le sua capacità di estendersi praticamente all’infinito, di aggiungere nuovi comandi e funzioni non solo permette di avere un linguaggio di programmazione sempre aggiornato alle nuove esigenze ma di avere un ambiente personalizzato per i propri singoli bisogni, senza dover mantenere in memoria intere liste di comandi inutili.
Ma, se da un lato offre molteplici potenzialità a livello di integrazione ed estensione, difetta notevolmente nel suo ambiente di sviluppo.
In SuperBASIC infatti non offre infatti un editor degno di questo nome, ED va bene per piccoli programmi estemporanei ma creare un software di livello professionale con questo strumento presenta non pochi problemi sia dal punto dello sviluppo che quello della manutenzione, permette l’editazione di un file alla volta, non ha alcuna opzione di copia incolla ne di ricerca, il SuperBASIC fa anche la sua parte in tutto questo, occorre essere onesti, costringe il programmatore ad adoperare i numeri di linea precludendogli praticamente l’utilizzo di quasi tutti gli editor, salvo dover togliere e rimettere a manina tutti i numeri di riga, inoltre non permette di scrivere comandi su più righe rendendo oltremodo scomodo la costruzione di IF complesse con più di due o tre operandi.
Non è possibile inoltre inserire automaticamente dentro un sorgente altre parti o routine esterne, in quanto i compilatori non supportano l’istruzione MERGE e in ogni caso bisogna stare molto, ma molto attenti a non sovrapporre numeri di riga, pena la perdita di righe di codice.
L’ultimo bastone tra le ruote ci arriva a sorpresa da Q_Liberator, l’ottimo compilatore che tutti conosciamo almeno per sentito dire, il quale per poter supportare le direttive $$ ingloba tutti i commenti
dell’oggetto compilato aumentando a dismisura le dimensioni del file senza alcuna ragione, o costringendo in alternativa il povero programmatore e togliere manualmente tutti i commenti, o ancora a non inserire alcun commento nel sorgente e rendendo così assai più complessa la manutenzione del programma stesso.
Tutto ciò contribuisce a far guardare il SuperBASIC con una certa diffidenza da parte di chi si appresta alla creazione di software di un certo livello.
Una soluzione a questi problemi ci viene direttamente dagli Stati Uniti nella persona di Tim Swenson, con il software SSB, giunto ormai alla versione 2.7.1.
Che cos’è esattamente SSB?
Non è ne un editor ne un linguaggio di programmazione, ma un traduttore di linguaggio, ossia è in grado di trasformare in SuperBASIC un programma scritto in un formato chiamato ‘Structured Super BASIC’ (SSB).
Non si tratta di un nuovo linguaggio ma di un nuovo modo di scrivere il SuperBASIC, molto più versatile e libero dalle regole, è poi SSB che provvede a trasformare il tutto nel formato a noi conosciuto.
Facciamo ora una breve panoramica su questo nuovo modo di scrivere le istruzioni.
Innanzitutto i programmi SSB sono contenuti in un normalissimo file ASCII, possono essere quindi editati da un qualunque editor di testo, seconda cosa non esistono più i numeri di riga, SSB provvede ad
inserirli automaticamente in fase di trasformazione.
E’ possibile inserire delle righe vuote (verranno eliminate in automatico anch’esse) per aumentare la leggibilità del programma.
I commenti vengono ora inseriti tramite il simbolo ## e vengono tolti in fase di trasformazione in SuperBASIC in modo da non appesantire inutilmente l’applicazione.
Se invece desideriamo che il commento resti incluso, ad esempio per supportare le direttive $$, basta usare il simbolo **.
Vediamo ora un piccolo esempio, ciò che in SuperBASIC si scriverebbe in questo modo:

100 REMark +- Programma dimostrativo 1 ————+
110 :
120 FOR CICLO = 1 TO 10
130 PRINT CICLO
140 END FOR CICLO
150 :
160 PRINT “FINE ELABORAZIONE”

in SSB diventa:

## +- Programma dimostrativo 1 ————+

FOR CICLO = 1 TO 10
PRINT CICLO
END FOR CICLO

PRINT “FINE ELABORAZIONE”

In SSB cambia anche il modo di lavorare, routine di carattere generale possono essere scritte su file separati ed essere unite al programma principale tramite il comando #include, in questo modo se cambia una routine non occorre riportare la modifica su tutti i programmi ma è sufficiente ricompilarli velocemente, SSB provvederà in automatico ad effettuare gli aggiornamenti.
E’ possibile inoltre eseguire compilazioni condizionali, ossia certi blocchi di istruzioni vengono inseriti o meno al posto di altre in base all’impostazione di uno switch, questa opzione è utilissima per
automatizzare la creazione di versioni demo o provviste di debug senza dover creare cloni del programma.
E’ inoltre possibile dividere le linee tramite il carattere “\” in modo da aumentare la leggibilità del programma, ad esempio l’istruzione SuperBASIC:

100 IF COMODO1 = “PIPPO” AND COMODO2 = “PLUTO”

in SSB diventa:

IF COMODO1 = “PIPPO” \
AND COMODO2 = “PLUTO”

Chiaramente il carattere in questione non viene considerato se si trova all’interno di una stringa.
SSB supporta anche le parole chiave GO TO e GOSUB tramite un sistema di label molto intuitivo.
Il progetto è in costante sviluppo e potete trovare tutti gli aggiornamenti oppure sul nostro sito Internet alla sezione Magazzino.