Wolfram Rösler è il creatore dell’originale The Hello World Collection. Nato ad Aachen, in Germania, nel 1968, programma sin dall’età di 13 anni. Dopo aver studiato informatica, ha lavorato come sviluppatore di software e, più tardi, come systems designer su piattaforme Unix e Windows per grandi industrie. Oggi è chief software architect per una grande azienda di data processing e reporting system. I suoi interessi non legati al computer vanno dalla matematica alla fisica quantistica, dalle arti marziali alla giocoleria. Wolfram è sposato e ha un figlio di 10 anni. E’ ideatore di The Hello World Collection. Hello World è una dicitura riferita ad un programma informatico scritto per far apparire Hello World sul display. E’ spesso usato per verificare che un linguaggio operi correttamente.

Wolfram Rösler on his bike

Wolfram Rösler sulla sua moto

  • Ciao Wolfram, hai a che fare con la programmazione da più di trent’anni, ci puoi raccontare come hai iniziato? Qual è secondo te il fulcro della programmazione?

Sin dalla prima volta che, da bambino, vidi un home computer, seppi che avrei programmato. Era un VC20 pubblicato in una rivista e, più tardi, un T199-4A in un negozio. L’attrazione era che questo tipo di macchine – gli home computer degli anni ’80 ancor più che i dispositivi moderni – non fanno quasi niente di per conto loro, eppure hanno l’enorme potenziale di realizzare cose e l’unico limite l’immaginazione del programmatore. Tutto quello che devi fare perchè loro realizzino ciò che immagini è semplicemente premere i tasti nel giusto ordine (ricorda che questi vecchi computer avevano una tastiera e una linguaggio di programmazione built in). Hai bisogno di molta abilità per fare un tavolo a partire dal legno ma, per far sì che un programma giri, tutto ciò di cui hai bisogno è la tua immaginazione. E’ un po’ come scrivere let there be light e luce fu, sempre che tu abbia digitato nel modo corretto. Nel tempo la fascinazione è rimasta; ancor oggi, anche se il mio lavoro quotidiano è perlopiù distante dal coding, provo eccitazione quando faccio girare per la prima volta un nuovo programma e lo vedo fare cose che prima dI allora erano solo nella mia mente.

Il Commodore VC 20

Il Commodore VC 20

  • Qual’è la storia di The Hello World Collection? Come è iniziata e come si è evoluta? E’ ancora una collezione aperta?

Nel 1994 mi resi conto che conoscevo un bel po’ di linguaggi di programmazione, sufficentemente bene da poter scrivere un programma Hello World con ciascuno di essi. Alcuni erano anche piuttosto divertenti, decisi quindi di mettere ciasun programma all’interno di un file e creare un piccolo shell script che collezionasse tutti i programmi in una singola lista, era la prima versione della Collection.  A quei tempi ero piuttosto attivo su MausNet, e postai lì la lista, ottenendo così anche i primi contributi dagli altri utenti. La versione più vecchia della collezione, che è ancora negli archivi Usenet di Google, risale al 1996, si trova qui. Dal 1999 la collezione ha trovato posto nella sua presente collocazione ed è cresciuta attraverso il contributo di molti utenti, ha superato le 400 lingue nel 2008. L’ultimo aggiornamento è del 2010 e da allora, sfortunamente, mi è mancato completamente il tempo di verificare e aggiungere nuovi linguaggio alla The Hello World Collection.

Un programma Hello World su un terminale

Un programma Hello World su un terminale AT&T

  • Perchè hai scelto di chiamarla Collezione invece di Archivio?

Un archivio è dove immagazini cose che non si usano più nel caso a qualcuno interessassero, cosa che potrebbe anche non accadere mai.  Una collezione è una cosa viva, ordinatamente organizzata perchè tutti la guardino. Inoltre, una collezione non è mai completa.

  • Pensi che la possibilità di creare una collezione elettronica abbia cambiato l’idea tradizionale di collezionare, che è solitamente legata ad oggetti materiali?

Certamente l’elettronica facilita il trasporto della tua collezione. Quando ero piccolo collezionavo calcolatrici portatili  ma molte di esse sono andate perse per restrizioni di spazio e per colpa di una cantina umida. The Hello World Collection è stata copiata in siti e blog talmente tante volte che è quasi impossibile che sparisca completamente. Mi piace il mondo digitale, vivere perlopiù senza carta, quindi una collezione digitale mi veste perfettamente. I collezionisti tradizionali comunque, vogliono probabilmente collezionare oggetti del mondo reale, che aquisiscono valore per la loro rarità, concetto che nel digitale quasi non sussiste. Se Leonardo avesse dipinto Monna Lisa con Photoshop e postato il file .jpg nel suo blog avrebbe attratto molta meno attenzione.

  • A proposito di The Hello World Collection dichiari che è l’unica collezione di programmi Hello World che include anche le lingue umane. Perchè hai fatto questa scelta e come accade che una lingua umana sia aggiunta alla collezione? Che tipo di relazione c’è tra un lingua umana e una lingua di programmazione?

Non ricordo quando mi venne in mente di poter aggiunre una sezione nella collezione dedicata alle lingue umane. Ma la ragione è la stessa delle lingue di programmazione; mi resi conto che conoscevo alcune lingue e così cominciai, permettendo ad altre persone di contribuire con altre lingue o di correggere quelle già collezionate. Comunque sia, la sezione Human Languages venne inizialmente chiamata Natural. Ora, molti linguaggi di programmazione usano una lingua umana come base, per esempio il C programming language ha delle parole chiave dall’Inglese come “return, “while” o “double”, ma queste sono mnemoniche e aiutano il programmatore a imparare le parole chiave. Alcuni linguaggi di programmazione lavorano senza parole chiave e consistono solo di simboli, qui è dove, più o meno, finisce la relazione; allo stesso tempo i linguaggi di programmazione hanno un proprio vocabolario e una propria grammatica, sintassi e semantica,  sono molto logici, precisamente definiti e non tollerano variazioni, interpretazioni o connotazioni. E’ questo il motivo per qui le persone autistiche amano i linguaggi di programmazione: non sono in grado di comprendere il linguaggio del corpo e gli altri piccoli dettagli che possono cambiare profondamente il significato di ciò che si intendeva dire attraverso la lingua parlata. Quindi, la perfetta definizione dei linguaggi di programmazione sono più vicini al loro speciale modo di comunicare

  • Puoi raccontare della prima volta che hai lanciato un programma Hello World? Hai mai creato un nuovo programma per poi testarlo un Hello World?

Nel 1981 ho digitato sul mio primo home computer, un Atari 400, il primo programma, era qualcosa di questo tipo:

10 PRINT “HELLO”

20 GOTO 10

RUN

Penso possa essere considerato come un primo programma Hello World :).  Molti anni più tardi, lessi del programma Hello World originale nel libro “The C Programming Language” di Kernigan e Ritchies e penso che da lì è dove ho preso l’idea (come ha fatto il resto del mondo). Non ho mai sviluppato un linguaggio di programmazione per conto mio, almeno non senza considerare dei prototipi ( ricordo ad esempio che una volta implementai qualche pseudo- Assembler/-Interpreter con l’intenzione di scrivere un programma che si scontrasse contro un altro in una simulata arena per memorie di computer, ma questo programma non aveva una funzione di output per i testi). Comunque sia la collezione ha qualcosa tipo “easter egg”, un programma per un ambiente da me creato, nell’intenzione di farlo girare all’interno di una grande applicazione di reporting che ho scritto a lavoro.

  •  Credi che la celebrita e la  diffusione nel campo della programmazione  di Hello World abbia caricato il messaggio di un valore mistico o propiziatorio?

Niente di ciò che conosco riguardo la programmazione ha per me un valore mistico.

Il linguaggio di programmazione C di Kernighan and Ritchie nella versione spagnola (prima edizione)

Il linguaggio di programmazione C di Kernighan and Ritchie nella versione spagnola (prima edizione)