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!!!!
|