QuickBASIC continua a vivere con QB64
Quando ho acquistato il mio primo computer, un 386 di seconda mano con MS-DOS 6.22, non avevo una connessione Internet. Ma avevo installato QuickBASIC e una pila di riviste di programmazione che la biblioteca locale stava buttando via, quindi avevo molto con cui tenermi occupato. A quel tempo, pensavo che QuickBASIC fosse più o meno indistinguibile dalla magia. Potevo scrivere codice semplice e compilarlo in un file .exe, metterlo su un floppy e darlo a qualcun altro affinché lo eseguisse sulla propria macchina. Sembrava troppo bello per essere vero, come si poteva migliorare questa tecnologia?
Naturalmente, questo è successo molti anni fa, e le cose ora sono molto diverse. I linguaggi di programmazione del momento sono molto più capaci delle faticose varianti BASIC degli anni '80 e '90. Tuttavia, quando ho trovato un floppy pieno di programmi che avevo scritto decenni fa, non ho potuto fare a meno di chiedermi se sarebbe stato possibile farli funzionare di nuovo. Con qualcosa come DOSBox ho pensato che avrei dovuto essere in grado di installare l'IDE QuickBASIC ed eseguirli come se fossi tornato sul mio fidato 386.
Sfortunatamente, così non è stato. Forse semplicemente non sono abbastanza esperto di DOSBox, ma non sono riuscito a far eseguire all'IDE il codice sorgente che ho estratto dal floppy. Ciò è stato deludente, ma poi mi è venuto in mente che i moderni interpreti BASIC probabilmente vengono sviluppati in qualche angolo di Internet, e forse potrei trovare un modo per eseguire il mio codice vecchio di quasi 30 anni senza dover fare affidamento su software vecchio di 30 anni per fallo.
Dopo aver cercato un po' in giro, ho trovato il progetto QB64. Si tratta di un ambiente di sviluppo QuickBASIC open source che non solo è completamente compatibile con i programmi esistenti, ma aggiunge funzioni e capacità che erano impensabili sul mio 386. È possibile visualizzare un PNG, caricare caratteri TTF o riprodurre un MP3 in background. con solo uno o due comandi.
Queste cose erano possibili con il QuickBASIC originale, ma esistevano più nel regno delle demo tecnologiche che in qualsiasi altra cosa. Oh, quanti giochi avrei potuto realizzare in passato con software come questo! Dovevo accontentarmi di segnali acustici e bloop, e anche questo richiedeva che tu capissi tu stesso i tempi dei toni.
Ancora meglio, QB64 è multipiattaforma e supporta la compilazione in binari nativi per Linux, Windows e Mac OS. Ciò significava che non solo potevo eseguire il mio vecchio codice all'interno dell'IDE, ma potevo effettivamente compilarlo in un binario per il mio desktop Linux. Non possiedo più un computer Windows, ma con WINE ho potuto eseguire la versione Windows di QB64 e compilare un .exe che potrei dare ai miei amici che vivono ancora nei secoli bui.
Puoi anche utilizzare QB64 per compilare il codice QuickBasic in un'applicazione Android, anche se ci sono notevoli ostacoli da superare e attualmente funziona solo su Windows.
Questo potrebbe non essere chiaro a coloro che non hanno mai scritto codice BASIC su una macchina vintage, ma il codice seguente crea uno schermo 800×600, inserisce un PNG a schermo intero, riproduce un MP3 e scrive un messaggio utilizzando un carattere TrueType.
A titolo di confronto, questo strumento QuickBasic per la semplice visualizzazione di un'immagine JPEG ha un clock di 653 righe di codice.
Nella mia nervosa adolescenza, ho creato una versione grafica del gioco in stile “Drugwars”. Hai spostato un omino stilizzato in un ambiente pixelato, comprando e vendendo sostanze di cui avevo sentito parlare nei film ma che di certo non avevo mai visto di persona. È stato terribile. Ma faceva parte della mia giovinezza e ho pensato che sarebbe stato divertente vedere se potevo calzare le scarpe in un flash moderno usando QB64.
A quanto pare, i PNG trasparenti e la possibilità di visualizzare i caratteri corretti rendono le cose molto più semplici. Essere in grado di riprodurre musica ed effetti sonori ambientali in sottofondo fa sembrare molto migliori anche i giochi realizzati in modo sciatto. Gli screenshot seguenti si riferiscono al menu principale della mia piccola fantasia criminale adolescenziale, prima e dopo l'applicazione di QB64. Tieni presente che il codice sorgente principale stesso è più o meno lo stesso, lo sto solo intervallando con la possibilità di caricare e visualizzare file esterni.
No, assolutamente non dovresti. Non ho scritto questo per cercare di convincere qualcuno a lanciarsi in un linguaggio di programmazione che ha raggiunto il suo apice prima ancora che molti dei nostri lettori nascessero. QuickBASIC è un linguaggio antiquato, bloccato da metodi e limitazioni obsoleti che confondono il programmatore moderno. Ma QB64 fa un ottimo lavoro nel modernizzare questo linguaggio classico, anche se solo in misura relativamente piccola nel grande schema delle cose, per quelli di noi che ci hanno fatto le ossa.
Indietro: Collegamenti "Sunday Morning" archiviati
Prossimo: Podcast sul caso del cavallo di Troia