Nel maggio del 1964, alle 4 del mattino presso il Dartmouth College iniziò una silenziosa rivoluzione nel campo dell’informatica. Fu allora che i matematici John G. Kemeny e Thomas E. Kurtz eseguirono con successo il primo programma scritto nel loro linguaggio di programmazione BASIC (Beginner’s All-Purpose Symbolic Instruction Code) appena sviluppato sul mainframe General Electric GE-225 del college. Che cos’è o meglio che cos’era il Basic? Nella sua forma piu’ tradizionale il Basic è stato un linguaggio di programmazione che funziona riga per riga, con numeri di riga.
10 PRINT “SCRIVI IL TUO NOME”
20 INPUT N$
30 PRINT “CIAO, ” “;N$
I programmi potevano saltare da una riga all’altra utilizzando comandi come GOTO, che spesso portavano a semplici programmi in loop creati da principianti che riempivano lo schermo di parole ripetute. Oppure si poteva scrivere rapidamente un programma con un contatore infinito, in questo modo:
10 LET X=X+1
20 PRINT X
30 GOTO 10
Oggi, la maggior parte dei linguaggi di programmazione utilizza diversi tipi di paradigmi strutturali (come funzioni e programmazione orientata agli oggetti), ma la sintassi facile da comprendere del BASIC, con le sue semplici parole chiave inglesi, si è rivelata popolare e facile da usare per i principianti.
Prima che i primi computer diventassero piccoli, poco costosi e “personali”, erano difficili da usare. All’inizio, programmare un computer implicava letteralmente collegare i fili, quindi azionare gli interruttori e persino perforare schede di carta. Nel corso del tempo, gli ingegneri hanno sviluppato modi per astrarre le operazioni di programmazione di basso livello con un’interfaccia più intuitiva. È qui che entrano in gioco i linguaggi di programmazione. Prima del BASIC, i linguaggi di programmazione come Fortran, Algol e COBOL si rivelavano complessi e venivano utilizzati principalmente dai professionisti. Kemeny e Kurtz videro la necessità che anche i dilettanti che non erano ingegneri informatici dedicati fossero in grado di utilizzare i computer. Il loro viaggio verso la creazione di un linguaggio più user-friendly iniziò nel 1956 con il Dartmouth Simplified Code (DARSIMSCO), seguito dal Dartmouth Oversimplified Programming Experiment (DOPE). Sebbene DOPE si sia rivelato troppo semplice per essere di grande utilità, le lezioni apprese da questi progetti hanno contraddistinto lo sviluppo del linguaggio BASIC, iniziato nel 1963. Nello stesso anno, Kemeny fece domanda per ottenere una sovvenzione della National Science Foundation per portare un computer GE-225 a Dartmouth e costruire il primo sistema di time-sharing per uso generale completamente funzionale. Nonostante i dubbi degli esperti riguardo al suo piano di portare a termine il lavoro con un gruppo di studenti universitari, Kemeny si è assicurato il finanziamento. Alla fine degli anni ’70 e all’inizio degli anni ’80, BASIC continuò a svolgere il suo ruolo di primo piano come interfaccia di programmazione e sistema quasi operativo per computer domestici popolari come Atari 800, TRS-80, Commodore VIC-20, Commodore 64, TI-99/4A, BBC Micro e il PC IBM, dove veniva preinstallato nella ROM come parte del sistema operativo o fornito come ambiente di programmazione facilmente accessibile. La popolarità del BASIC iniziò a scendere negli anni ’90, quando vennero immessi sul mercato computer più potenti e divenne possibile utilizzare linguaggi di programmazione con funzionalità avanzate e gli utenti di personal computer non tecnici si affidarono ad applicazioni già scritte. Anche se oggi i programmatori professionisti difficilmente usano BASIC, il linguaggio è ancora molto popolare nella scena del retro computing. Su vecchi sistemi come il C64 o l’Apple II vengono ancora sviluppati programmi BASIC. La semplice vicinanza hardware permette di capire come funzionano i computer. L’inventore del BASIC Thomas Kurtz lo aveva previsto già nel 1964: “Il nostro obiettivo non è formare programmatori professionisti, ma offrire a tutti gli studenti un’esperienza e una conoscenza di base sull’uso del computer“.
Tanti auguri buon vecchio Basic!