Cerca nel blog

2014/05/02

Cinquant’anni di BASIC

Fonte: Wikipedia.
Ieri il linguaggio di programmazione BASIC ha spento cinquanta candeline: il primo maggio del 1964, infatti, due professori di matematica e informatica del Dartmouth College statunitense, John Kemeny e Thomas Kurtz presentarono il “codice di istruzioni simboliche per uso generale per principianti”. In inglese questo nome arcano era Beginner's All-purpose Symbolic Instruction Code, scelto per creare l'acronimo BASIC (nel senso di “elementare”). Fu l'inizio della rivoluzione informatica nella programmazione che portò al personal computer.

Prima del BASIC, programmare un computer per fargli fare qualunque cosa richiedeva l'apprendimento di linguaggi arcani e specialistici, come il FORTRAN o l'Algol o, peggio ancora, l'assembly; ma Kemeny e Kurtz volevano che anche uno studente non specializzato potesse usare un computer, e per questo serviva un modo per programmare che usasse parole intuitive e comuni. Per esempio, l'istruzione di stampare doveva essere PRINT (“stampa” in inglese); se era necessario gestire una condizione, allora il linguaggio doveva usare le istruzioni IF e THEN (“se” e “allora”).

C'era anche un'altra innovazione fondamentale nel BASIC: il programma poteva essere avviato immediatamente. A noi sembra ovvio e normale, ma cinquant'anni fa, invece, creare un programma era come giocare a scacchi per corrispondenza: si doveva scrivere tutto il programma su schede perforate (di carta), dare il pacco di schede a un operatore e poi aspettare il risultato. Il procedimento richiedeva spesso un giorno intero, per cui era fondamentale scrivere il programma correttamente al primo tentativo, altrimenti si perdevano giorni e giorni. Con l'arrivo del BASIC quest'attesa spariva: il programma veniva provato al volo.

Non va sottovalutata, infine, l'importanza di un'altra scelta di Kurtz e Kemeny: quella di distribuire il proprio lavoro creativo gratuitamente. Il BASIC fu infatti messo a disposizione di tutti, dando così a chiunque la possibilità di provare l'ebbrezza di comandare un computer invece di esserne operatori passivi di cose fatte da altri, e vive ancora oggi per esempio nel Visual Basic di Microsoft.

Se avete vissuto quel periodo, ricorderete le giornate spese a digitare programmi, spesso trascrivendoli a mano dalle riviste specializzate (non c'era Internet e i dischetti costavano molto più della carta), e a creare programmi dal nulla. Fra quei pionieri c'era anche un certo Steve Wozniak, che capì che per vendere i primi personal computer che aveva progettato insieme al suo amico e socio era necessario dotarlo di un sistema che consentisse agli utenti comuni di programmarli e così scrisse il BASIC per i computer Apple I e II. L'amico, ovviamente, era Steve Jobs, e la storia incredibile del BASIC di Wozniak è raccontata direttamente dal protagonista in questo articolo. Anche un altro giovane informatico si era cimentato nel creare il BASIC per i computer basati su microprocessori Intel: era un certo Bill Gates. E il resto, come si suol dire, è storia.

13 commenti:

Guastulfo (Giuseppe) ha detto...

Se non ricordo male, sui pc con DOS, c'era BASIC per gli IBM e GWBASIC per gli altri.
All'epoca si diceva che il basic.exe girasse solo sugli IBM perché aveva una protezione. In pratica il programma verificava se il pc era un IBM. Non so, però, se questa sia una leggenda metropolitana o no.

Stupidocane ha detto...

Ricordo che al mio paese c'era un ragazzo, fortunato possessore di un Commodore Vic20, che si comprava le riviste di giochi per PC, con pagine intere piene di righe di comando per il "fai da te".

Mi resi conto da subito che stavo perdendo un treno importante, ma allora i soldi erano quelli che erano e soprattutto mio padre non voleva che avessi un computer perché "poi fa tutto lui e tu non impari niente"... :(

Pochi anni dopo ero a casa di un altro amico a fare merenda mentre aspettavamo che il suo Amiga 128 finisse di caricare la (musi)cassetta con uno sparatutto...

E visto che sono di nostalgia, mi piacerebbe comprarmi una di quelle repliche dei vecchi Commodore. Visto che non ho mai potuto averne uno...

Epsilon ha detto...

Quando ho letto dei listati copiati dalle riviste mi è subito balzato alla mente un altro ricordo; all'epoca in cui possedevo lo ZX Spectrum, la RAI trasmetteva via radiofonica sofware che si poteva, attraverso il normale cavetto audio, caricare direttamente sul computer o registrare su cassetta.
Personalmente, non sempre il segnale trasmesso permetteva un buon caricamento ma ricordo con nostalgia quegli esperimenti

Marco Cazzola ha detto...

Apprezzo l'immagine della schermata iniziale dell'MSX. Uno dei basic più potenti per un home computer. Tante istruzioni già pronte per fare tutto, grafica compresa, senza dover litigare con le POKE del basic dei Commodore.

Nand ha detto...

@Guastulfo: non è una leggenda metropolitana, l'IBM BASIC poteva funzionare solo sui PC IBM perché utilizzava delle ROM che non erano presenti sui compatibili.

Anonimo ha detto...

Che ricordi!

Sotto alcuni punti di vista l'ho vissuta come Stu, eppure a noi ragazzini era chiaro di essere di fronte al futuro, quello schermo blu era una porta verso un mondo del tutto nuovo, come poi è stato nel bene e nel male.

Leggere questo articolo mi ha portato a galla emozioni incredibili, vado a rivedermi "I Goonies".

pgc ha detto...

Trovo interessante, e dimostra ancora una volta come sia difficile prevedere il futuro,che usare un linguaggio "interprete" era considerata una cosa - appunto - da principianti. Il vero programmatore programmava con un linguaggio "compilato", più rapido ed efficiente, ma spesso astratto, logico, ed eccessivamente vincolato dalla sintassi.

Oggi si è tornati li, a linguaggi come Python o Perl che per diversi aspetti somigliano al buon vecchio BASIC ma che vengono usati anche in ambienti professionali, anche per dare istruzioni dirette. Per questo vedo il Python come "the BASIC revenge" (la vendetta del BASIC).

BASIC è vivo, e lotta insieme a noi.

Stupidocane ha detto...

Guardate cos'ho trovato... gh gh gh...

[img]http://www.theunheardnerd.com/wp-content/uploads/2014/01/Bluetooth_ZX-Spectrum_At-A-Glance_Off-Square.jpg [/img]

Massimo Musante ha detto...

10 PRINT "TANTI AUGURI BASIC"

Massimo Musante ha detto...

@Stupidocane

Se vuoi farti un emulatore Commodore posso suggerirti questo basato su Respberry PI?

Van Fanel ha detto...

BASIC?
Che ricordi!
L'avevo, ma non l'ho mai letta tutta.
Io preferivo QUESTO,! (che provavo a mettere in pratica su questo catorcio). E lo farò leggere ai miei figli, anche se forse non capiranno un tubo... Oggi non è informatica se non si sposta il dito su un touch screen...

Vittorio ha detto...

@ Massimo Musante

10 PRINT "TANTI AUGURI BASIC"

Sì, ma non aggiungere poi un

20 GOTO 10

;D

Enrico Ceppi ha detto...

x Stupidocane.
Un otttimo emulatore software multipiattaforma: http://vice-emu.sourceforge.net/
E comunque non era Amiga 128, ma C=128, con il basic più potente che abbia mai visto su un 8-bit il Basic V7.0, roba da far impallidire tutti gli altri con programmazione strutturata, istruzioni per la musica e la grafica. Mancava solo il poter mettere nomi di variabili di più di 2 caratteri e i goto gosub a labele non a numeri di linea (ma c'era il renum che aggiornava anche goto xxx, gosub xxx e restore xxx).