Quanta
strada ragazzi! A volte ci penso...
Mi sembra ieri quando un me emozionato scriveva "Java:
ieri, oggi, e domani". Ne sono passati bit dalla mia
interfaccia di rete da allora, e anche se la corrente
mi ha portato verso altri lidi l'esperienza di Java
ha profondamente segnato tutta la mia vita professionale.
Nel secolo scorso, era il 1996 per l'esattezza, ero
ancora studente al terzo anno del diploma di informatica
a Pisa; all'Università mi facevano studiare Pascal,
ma io ero un appassionato del Web e cominciai a scrivere
le mie prime applet quando uscì Netscape 2.0 Golden
edition in beta con il supporto a Java. Che emozione!
Le
mie prime interfacce grafiche fatte all'interno del
browser, in un framework civile e comprensibile, non
il non-sense di MFC.
Entusiasta da questa esperienza realizzai la prima applicazione
(così mi dissero quelli della Sun Italia) Web che avesse
una qualche applicazione pratica: si chiamava CompAss
ed era il sistema adottato dall'Università, in via sperimentale,
per la compilazione on-line dei piani di studio. Mi
entusiasmai quando l'AWT 1.1 introdusse il delegate
event model. E poi...
Poi è cominciata la mia collaborazione con Mokabyte,
la voglia di raccontare a tutti quanto fosse bello e
innovativo il mondo Java. Poi, come spesso succede,
le cose cambiano, le aspettative vengono deluse, e il
primo amore spesso passa; così cominciai a soffrire
dell'eccesso di API che una troppo frettolosa Sun stava
elargendo a piene mani, da studente, oramai della laurea
già diplomato, soffrivo dello scarso sviluppo del runtime,
e soffrivo dall'uscita di swing: non mi sono mai piaciute,
ed ho sempre pensato che l'approccio originale a peer
era più efficace.
La verità è che da studente in carriera avevo bisogno
di cambiamenti sostanziali, di miglioramenti nella piattaforma
che la Sun non sembrava voler implementare, e così abbandonai
piano piano l'intera piattaforma.
Tradii prima con Perl, poi con C++ (amore perduto e
poi ritrovato), per poi approdare a .NET e C#. Il tradimento
fu consumato sull'altare del Pure Java: la prima volta
che mi trovai a dover riutilizzare il mio codice Java
da altri linguaggi, o viceversa invocare metodi nativi
via JNI, trovai un'architettura disegnata per la portabilità,
e quindi in un certo senso chiusa in sé stessa. Questo
senso di essere intrappolato in una tecnologia mi spinse
a guardare oltre, ma la struttura allo stesso tempo
statica e dinamica del linguaggio mi aveva segnato.
Non riuscivo a strutturare bene i miei programmi (e
tuttora non vi riesco) in linguaggi di scripting, ma
l'assenza completa di dinamismo tipica di C++ era difficile
da accettare dopo aver visto la luce. Quando Microsoft
annunciò la piattaforma .NET trovai un nuovo giocattolo,
e feci il grande salto. Nello stesso periodo, per coerenza,
sentii il bisogno di smettere di contribuire a Mokabyte:
non mi sentivo più così sulla cresta dell'onda nel mondo
Java da poter indicare la strada.
In .NET trovai molte cose di cui sentivo la mancanza
in Java, soprattutto nel runtime. In particolare apprezzai
molto la scelta (ovvia per Microsoft) verso l'interoperabilità
in tutte le direzioni; anche la scelta, di cui ho sempre
sentito la mancanza nel mondo Java, di fare uno standard,
ho sempre pensato fosse una cosa giusta (e infatti Mono
è molto più vicino a .NET come implementazione di quanto
sia mai stato Java di blackdown su Linux). Poi è arrivato
il dottorato, e piano piano mi sono trovato, in modo
a volte inconsapevole, a fare ricerca nel mondo dei
linguaggi.
Mi sono soffermato sulla generazione di codice nel mondo
delle macchine virtuali che ho chiamato STEE (Strongly
Typed Execution Engine), Java e CLR.
Nel frattempo ho concluso il mio dottorato, ed ora ho
appena cominciato il mio secondo assegno di ricerca,
cercando, come sempre, di portare tutte le mie esperienze
nell'Università, agli studenti; mostrando anche a loro
le magie che ho trovato nell'infinito mondo dell'informatica.
Anche oggi, che contribuisco a tenere il corso di Costruzione
di Interfacce, tutto ciò che mi ha insegnato Java, mi
accompagna, e quando capita lo insegno ancora, stupendomi
di quanto poco è ancora sconosciuto il suo mondo dopo
i primi dieci anni.
|