
Il Linguaggio BASIC
Il BASIC (acronimo di Beginner’s All-purpose Symbolic Instruction Code) è uno dei linguaggi di programmazione più storici e influenti. Nato negli anni ’60 al Dartmouth College, il suo scopo principale era proprio quello di rendere la programmazione accessibile a tutti, in particolare agli studenti e ai non specialisti. È un linguaggio “amichevole” che ha aperto le porte al mondo dell’informatica per milioni di persone.
1. Storia e Filosofia
- Nascita: Creato da John G. Kemeny e Thomas E. Kurtz nel 1964.
- Obiettivo: Demistificare la programmazione, rendendola semplice da imparare e usare.
- Diffusione: Diventò estremamente popolare negli anni ’70 e ’80 grazie ai primi personal computer (Commodore 64, ZX Spectrum, Apple II, IBM PC) che spesso lo includevano come linguaggio predefinito, pronto all’uso all’accensione della macchina. Molti sistemi operativi dei PC dell’epoca si avviavano direttamente in un interprete BASIC.
- Evoluzione: Dal BASIC “originale” sono nate numerose varianti (GW-BASIC, QBasic, Visual Basic, ecc.), alcune delle quali hanno introdotto concetti più avanzati come la programmazione strutturata e orientata agli oggetti.
2. Caratteristiche Fondamentali
Il BASIC si distingue per alcune caratteristiche che lo rendono intuitivo per i principianti:
- Semplicità: La sintassi è vicina all’inglese parlato, con comandi facili da capire.
- Interpretato (in origine): Molte implementazioni iniziali erano interpreti, il che significa che il codice veniva eseguito riga per riga, senza la necessità di una compilazione preventiva. Questo permetteva di vedere immediatamente i risultati e correggere gli errori.
- Numeri di Riga: Una caratteristica distintiva del BASIC “classico” è l’uso di numeri di riga. Ogni istruzione doveva essere preceduta da un numero intero (es.
10 PRINT "Ciao"). Questi numeri servivano anche per controllare il flusso del programma con istruzioni comeGOTO. - Struttura Lineare: I programmi tendevano ad essere sequenziali, con un flusso di esecuzione che procedeva da una riga all’altra.
3. Concetti Base e Sintassi (con Esempi)
Vediamo i comandi e i concetti fondamentali che incontrerai nel BASIC.
A. Input/Output (I/O) – Comunicare con l’utente
PRINT: Usato per visualizzare testo o valori sullo schermo.Basic10 PRINT "Ciao, mondo!" 20 X = 10 30 Y = 20 40 PRINT "La somma è: "; X + YOutput:Ciao, mondo! La somma è: 30INPUT: Usato per chiedere all’utente di inserire dati.Basic10 INPUT "Qual è il tuo nome?"; NOME$ 20 PRINT "Benvenuto, "; NOME$; "!" 30 INPUT "Quanti anni hai?"; ETA 40 PRINT "Hai "; ETA; " anni."Esempio di interazione:Qual è il tuo nome? Bob Benvenuto, Bob! Quanti anni hai? 30 Hai 30 anni.Nota: Le variabili che terminano con$sono stringhe (testo), quelle senza$sono numeri.
B. Variabili e Assegnazioni
- Le variabili sono contenitori per memorizzare dati.
- Non richiedono una dichiarazione esplicita del tipo (come in altri linguaggi), il tipo è spesso inferito dal suffisso (
$per stringhe, niente per numeri). - Assegnazione: Si usa il segno
=o l’istruzioneLET(spesso opzionale).Basic10 LET A = 10 ' Assegna il valore 10 alla variabile A 20 B = 25 ' Assegna il valore 25 alla variabile B 30 MESSAGGIO$ = "Programmazione è divertente!" 40 PRINT A + B 50 PRINT MESSAGGIO$
C. Operatori Aritmetici
+(addizione)-(sottrazione)*(moltiplicazione)/(divisione)^(potenza)Basic10 RISULTATO = (5 + 3) * 2 / 4 ^ 2 20 PRINT RISULTATOOutput:1
D. Strutture di Controllo del Flusso
Permettono al programma di prendere decisioni o ripetere azioni.
GOTO: Salto incondizionato a una riga specifica. È una delle caratteristiche più iconiche (e a volte criticate) del BASIC.Basic10 PRINT "Inizio" 20 GOTO 40 30 PRINT "Questa riga non verrà eseguita" 40 PRINT "Fine"Output:Inizio FineAttenzione: L’uso eccessivo diGOTOpuò portare al “codice spaghetti”, difficile da leggere e mantenere.IF...THEN...ELSE: Esegue un blocco di codice solo se una condizione è vera.Basic10 INPUT "Inserisci un numero: "; NUM 20 IF NUM > 0 THEN PRINT "Il numero è positivo." 30 IF NUM = 0 THEN PRINT "Il numero è zero." ELSE PRINT "Il numero è negativo."FOR...NEXT: Ciclo per ripetere un blocco di codice un numero predefinito di volte.Basic10 FOR I = 1 TO 5 20 PRINT "Iterazione numero: "; I 30 NEXT IOutput:Iterazione numero: 1 Iterazione numero: 2 Iterazione numero: 3 Iterazione numero: 4 Iterazione numero: 5WHILE...WEND(oDO WHILE...LOOPin alcune varianti): Ciclo che si ripete finché una condizione è vera.Basic10 X = 0 20 WHILE X < 3 30 PRINT "X è: "; X 40 X = X + 1 50 WENDOutput:X è: 0 X è: 1 X è: 2
E. Sottoprogrammi (GOSUB / RETURN)
Permettono di organizzare il codice in blocchi riutilizzabili. GOSUB salta a una sottoroutine e RETURN riporta l’esecuzione al punto successivo al GOSUB.
Basic
10 PRINT "Chiamo la sottoroutine."
20 GOSUB 100
30 PRINT "Tornato dalla sottoroutine."
40 END ' Termina il programma
100 REM Inizio della sottoroutine
110 PRINT "Sono nella sottoroutine."
120 RETURN ' Torna al punto di chiamata
Output:
Chiamo la sottoroutine.
Sono nella sottoroutine.
Tornato dalla sottoroutine.
F. Commenti
REM(REMark) o': Usato per aggiungere note al codice che vengono ignorate dall’interprete. Essenziali per rendere il codice comprensibile.Basic10 REM Questo è un commento 20 PRINT "Esempio" ' Questo è un altro commento
4. Come Funziona un Programma BASIC (Classico)
- Scrittura del Codice: L’utente scrive le istruzioni riga per riga, precedute da un numero.
RUN: L’utente digita il comandoRUN.- Esecuzione: L’interprete BASIC inizia a eseguire le istruzioni a partire dalla riga con il numero più basso, procedendo in ordine crescente (a meno che non ci siano
GOTO,GOSUBo strutture di controllo). - Debug: Se si verifica un errore, l’interprete solitamente segnala la riga dove è avvenuto. L’utente può modificare la riga e provare di nuovo.
5. Il BASIC Oggi: Eredità e Varianti Moderne
Sebbene il BASIC “classico” con i numeri di riga sia meno utilizzato per lo sviluppo professionale moderno, la sua eredità è immensa:
- Visual Basic (Microsoft): Una delle varianti più di successo, ha introdotto un ambiente di sviluppo grafico e la programmazione orientata agli oggetti, diventando uno strumento potente per lo sviluppo di applicazioni Windows. Anche se ora superato da .NET, ha avuto un impatto enorme.
- VBA (Visual Basic for Applications): Ancora oggi integrato in suite come Microsoft Office, permette di automatizzare compiti e creare macro in Excel, Word, Access, ecc.
- BASIC moderno: Esistono ancora dialetti BASIC e ambienti di sviluppo che mantengono la filosofia di semplicità, a volte con sintassi aggiornate e capacità moderne (es. FreeBASIC, PureBasic).
- Concetti Fondamentali: Imparare il BASIC è un ottimo modo per afferrare i concetti fondamentali della programmazione (variabili, cicli, condizioni, input/output) che sono universali in quasi tutti i linguaggi.
6. Perché imparare il BASIC?
- Ottimo punto di partenza: La sua semplicità lo rende ideale per capire le logiche di programmazione senza essere sopraffatti da sintassi complesse.
- Comprensione delle basi hardware/software: Spesso il BASIC classico permetteva di interagire in modo più “vicino” all’hardware, dando una buona idea di come funzionano i computer a un livello più basso.
- Storia dell’informatica: È un pezzo fondamentale della storia dei personal computer. Capire il BASIC significa capire da dove vengono molti degli strumenti che usiamo oggi.
- Risoluzione dei problemi: Ti insegna a scomporre un problema in passaggi logici e a tradurli in istruzioni che un computer può eseguire.
In sintesi, il BASIC è stato il trampolino di lancio per innumerevoli programmatori e continua a essere un esempio lampante di come la programmazione possa essere resa accessibile. Impararlo ti darà una solida base per esplorare linguaggi più complessi e capire meglio il mondo digitale che ci circonda