Wouter, linguaggi e... Pomodori!!!

Anche questa volta abbiamo un interlocutore d'eccezione: il mitico Wouter van Oortmerssen (se non lo scrivo giusto mi ammazza!!!! =), l'autore di AmigaE. Il nostro eroe, sicuramente col pallino dei linguaggi, è di nuovo al lavoro per un progetto di sicuro interesse: Aardappel. Ulteriori informazioni li trovate nello speciale Ipisa '97.
Un grandissimo ringraziamento ad Enrico Altavilla per la consulenza straordinaria.


Torna alla Home Page di AMiWoRLD
Petty: Ciao Wouter!
Wouter: Ciao bella!

Petty: Scusa... io sono MASCHIO!! =)
Wouter: Ma certo che questo lo SO :)

Petty: Sai, meglio chiarire: ad Ipisa mi guardavi in modo un po' strano... =)
Wouter: =)

Petty: ah, ho capito! Nella cultura Hip-Hop, sai quelli con i Jeans immensi, con le bombolette che scrivono sui muri, "ciao Bella" è un modo di dire!
Wouter: esatto, non solo nel rap :)

Petty: Non sapevo che oltre a guardare telenovelas, fossi un cultore dell'Hip-Hop. Ma cosa scrivi? AMIGA?! (Io l'ho fatto!) =)
Wouter: "E rulez!"
"bill gates must die!" ;)

Petty: Ah, ottimo. Non è che potresti fare un po' di pubblicità per AmiWorld... SBONK! Come non detto!
Passiamo all'intervista vera e propria.
Potresti definire in poche righe il tuo linguaggio (e spiegare cosa significa "Aardappel" in italiano!)?

Wouter: Aardappel vuol dir "patata" in olandese. Non domandarmi perché'. Aardappel e' un linguaggio di programmazione totalmente grafico, i.e. puoi fare programmazione col mouse, senza text editor.
Ha un modo di fare computazione basato su pattern matching (i.e."quando c'e' una struttura così', lo cambi così'" e e' anche concorrente in modo come Linda. Per ulteriori informazioni, potete consultare un mio articolo presentato ad Ipisa '97, disponibile su questo sito.

Petty: Wouter, quali sono per te le carte vincenti di Aardappel?
Wouter: la sintassi e editing grafico e il modello di computazione di "sharing" e concorrenza. Tutti e due rendono la programmazione più facile, più divertente, e soprattutto: aiutano a trovare e prevenire "bugs".

Petty: Ad Ipisa '97 hai preferito parlare di linguaggio GRAFICO piuttosto che "VISUALE". Mi sembra che tu tenga particolarmente a questa distinzione.
Wouter: Solo che quando dico alla gente che sto facendo un linguaggio visuale tutti dicono "aaaah, come il Visual Basic allora!" quando ovviamente e' totalmente differente. VB ti fa l'interfaccia in modo grafico, Aardappel ti fa il codice (allora algoritmi ecc.) in modo grafico.

Petty: Per tutti gli informatici universitari: quali sono le differenze tra Aardappel e gli altri linguaggi "Visuali" o "grafici" che ogni laureando in informatica dovrebbe conoscere?
Wouter: meglio leggere i miei paper :)In una frase: questi linguaggi danno problemi quando vuoi fare programmi di un certo grandezza perché la loro sintassi non e' "scalable".

Petty: Penso che un ulteriore spiegazione al lettore sia proficua. Potresti dare una definizione sintetica di "scalable"?
Wouter: "Scalable" (inglese) vuol dire che una "soluzione" o "sistema" quando funziona per un piccolo problema funziona anche per uno grande. Un linguaggio non scalable e' per esempio Arexx: e' davvero ottimo per risolvere piccoli problemi (meglio di E), ma non puoi immaginare scrivere un compilatore in Arexx (peggio di E).
Aardappel vuol essere come E (ma molto più' alto livello), non come Arexx (come tutti questi altri linguaggi visuali).

Petty: Su Amiga non esiste niente di simile, e neanche sulle altre piattaforme sembra che l'implementazione "Visuale" abbia successo: cosa ti ha spinto ad insistere in tale direzione?
Wouter: Gli altri linguaggi simili non sono realmente utilizzabili, allora non si sa se linguaggi grafici non possono funzionare generalmente come credono alcuni.
Io credo che Aardappel puo' funzionare come linguaggio pratico per ogni tipo di programma. (Per dire la verità' a me piacciono linguaggi grafici, se funzionano o no ;)

Petty: Insomma, a differenza degli altri linguaggi grafici, Aardappel sarebbe il primo a presentare una implementazione REALMENTE utile (semplice e adatta a tutti gli scopi)?
Wouter: Esatto.

Petty: La programmazione visuale obbliga a pensare il proprio programma in maniera assai differente rispetto alla programmazione procedurale. Come intendi supportare il programmatore intenzionato ad imparare Aardappel da zero?
Wouter: E' vero che non sarebbe facilissimo per tutti. La diversità di Aardappel ha il risvolto positivo di evitare ogni genere di confusione con i linguaggi che già conosci. Anche, l'ambiente ("environment") di Aardappel ti da molto "feedback" sul codice che stai facendo, la "example folds" feature ti puo' aiutare capire cosa stai facendo direttamente durante l'editing, non solo dopo la compilazione. Aardappel e' molto "gentile" generalmente :)

Petty: Esattamente in cosa consiste la "Example folds" feature?
Wouter: Questa funziona ti lascia fare valutazioni di codice mentre fai l'editing. per esempio quando scrivo un quicksort, posso vedere se il codice risulta in un valore valido immediatamente quando sto per costruirlo. Normalmente non puoi fare valutazioni di codice in un editor perché' e' astratto: le variabili non hanno valori. In Aardappel pero' posso dare valori di esempio agli argomenti e vedere come cambia il valore di qualunque espressione quando cambio il codice. Ti mostra se il tuo algoritmo funziona come intendi in maniera velocissima, non solo dopo run/debug.

Petty: Quali sono state le principali difficoltà durante lo sviluppo del tuo linguaggio?
Wouter: La maggiore difficoltà è stata proprio il disegno del linguaggio. Aardappel comprende la ricerca su linguaggi di programmazione degli ultimi 3 o 4 anni, e non e' facile farlo in modo ottimo. L'implementazione e' un gran lavoro, ma non e proprio "difficile" perche' so già come farla.

Petty: Qual è l'attuale stato dei lavori?
Wouter: Sto lavorando sul implementazione (yippie!)

Petty: Quali linguaggi utilizzi per programmare Aardappel?
Wouter: Per ora utilizzo Java.

Petty: Hai già deciso quali canali di distribuzione utilizzare?
Wouter: Proprio no. Mi sembra che l'internet sia il solo mezzo per distribuirlo. Aardappel sara' 100% gratis (freeware).

Petty: E' già possibile dire approssimatamente quanto tempo ci vorrà prima che venga completato o, almeno, quando sarà disponibile qualcosa di funzionante, un "abbozzo"?
Wouter: Beh non so. Ci vorrà qualche mese prima di renderlo davvero utilizzabile.

Petty: Chi conosce Amiga_E, conosce la tua grande abilità nel concepire e realizzare linguaggi. A proposito: Che ne sarà di Amiga E? Hai già previsto un porting su Power PC?
Wouter: Ma certo, come ho detto prima. Non voglio fare "promesse" pero', è necessario vedere come evolve la realtà Amiga. Ho lavorato al disegno del traduttore verso PPC (ed eventualmente altri): il porting e' possibile ma e' un gran lavoro :)

Petty: Finito Aardappel, quale regalo farai all'utenza Amiga (ti prego: occupati di quello che vuoi ma utilizza un nome inglese!!)?

Wouter: :) Non ho idea di quali parole di cibo utilizzerò', e nemmeno quale lingua ;) Ovviamente i linguaggi sono la mia passione, e sicuramente ce ne saranno altri. Altre cose che mi piace fare sono i sistemi operativi (immagina "Writing applications in the Pomodoro operating system" :) o anche motori grafici (tipo quake). Chissa'!

Petty: Eventualmente l'esclusiva la prometti a me, no? =) Comunque, visto che ti diverti a passare notti insonni a programmare Os (trascurando le telenovelas! ndPetty:), hai mai pensato di dare una mano ad AMiga Inc., magari diventando un membro di ICOA?
Wouter: Gia' sono parte della working group su slim binaries :) (soggetto molto vicino a compilatori ecc.)

Petty: Passiamo a una domanda di routine: cosa ne pensi della situazione attuale di Amiga? Paure, ombre, e speranza di un personaggio estremamente attivo della scena Amiga...

Wouter: Beh ovviamente l'unico mio problema è che finora non e' possibile conoscere cosa regalerà il futuro ad Amy, anche perche' e' andata troppo spesso male. Diciamo che io sto coll'Amiga, e non ho fretta di lasciarla, ma allo stesso tempo ci sono state troppe promesse che aspetterò fino a quando _esisteranno_ prodotti (nuovi Amiga ecc.) nei negozi prima di riacquistare del nuovo entusiasmo.

Petty: Cosa pensi a proposito del Pre/box di Phase V? Credi di più in Pios?

Wouter: Io credo solo in prodotti che esistano.

Petty: Risposta lapidaria, ma estremamente efficace! Sei riuscito a sintetizzare una gran quantità di parole in una sola espressione! La mia professoressa di Italiano ti darebbe 7! =)

Wouter: solo 7? =)

Petty: Domanda personale: Cosa pensi del mio Amiga World? Non ti preoccupare, non mi offendo! :)
Wouter: Il design e' troppo caotico, ma il contenuto ovviamente mi piace (ho letto l'articolo su Ipisa, almeno :).
[NOTA: Al tempo dell'intervista Wouter non aveva visto ancora il nuovo
AmiWorld, quindi... Vi farò sapere cosa ne pensa! =)]


Congediamo il nostro amico, sperando che l'ambito progetto si riveli uno strumento di sviluppo estremamente efficace. Auguri, Wouter!!!!

Petty

Copyright AMiWoRLD