Il 1996 è stato un anno di grandi novità per il mio futuro. A gennaio Imola Informatica, l’azienda che avevo fondato più di 10 anni prima, iniziò a gestire i servizi tecnici di Borland in Italia, oltre a quelli di Symantec che già curava da più di cinque anni. A inizio estate, quasi contemporaneamente, arrivarono da entrambi le comunicazioni che delineavano futuri nuovi prodotti per un nuovo linguaggio di programmazione: Java.
Cosa fosse Java era ancora tutto da capire. Ma il concetto della virtual machine che permetteva di fare girare lo stesso software su macchine con CPU diverse e la possibilità di scrivere per il web senza dovere utilizzare le CGI, rendeva questa novità veramente intrigante. In un’epoca in cui la comunicazione non era certo quella di oggi, l’unica cosa che fui capace di vedere, fu la prerelease di un compilatore un po’ vestito che Symantec qualche mese dopo chiamò Cafè.
L’attesa per me era grande, e altrettanto grande fu la sorpresa di trovare alla Borland Conference di Anaheim (con più di 3000 partecipanti in delirio per Delphi ’97) solo due persone con Bruce Eckel e l’insegnante nell’aula del tutorial di Java. Al ritorno in Italia nessuno o quasi sapeva di Java e nei due anni successivi ai pochi eventi divulgativi organizzati da Sun incontrai MokaByte. Fu poi nel 1999, quando Giovanni Puliti iniziò a collaborare in Imola Informatica, che MokaByte è entrata veramente nella mia vita.
Allora – come oggi – facevo l’imprenditore, convinto che Internet avrebbe cambiato il mondo e Java avrebbe cambiato i sistemi informativi. L’idea di trasformare la rivista online MokaByte in un’azienda mi sembrava una scommessa affascinante. Anche Giovanni era entusiasta e partimmo.
Sono passati vent’anni e nell’informatica è cambiato tutto o quasi. Da un linguaggio per le applet, Java è diventato protagonista di nuova generazione di sistemi informativi, specialmente in enterprise. Ha accompagnato culturalmente una generazione di programmatori verso i linguaggi aperti, le architetture server-side, il concetto di middleware standard, i servizi online critici, l’open source. Le architetture Service Oriented, gli Enterprise Service Bus, i pattern di integrazione, le roadmap evolutive dei grossi clienti hanno fatto il resto. E MokaByte li ha accompagnati in questo percorso, passando per i Java Italian Tour, il Manuale Pratico di Java, gli altri libri, le conferenze e articoli, articoli, articoli.
Nel frattempo continuavo a fare l’imprenditore: da una parte lavorare per far crescere Imola Informatica (oggi ha quasi 100 ingegneri), dall’altra osservare il mondo dell’innovazione per intercettare temi che, al di là della retorica marketing, promettessero un forte impatto sul futuro.
Nel mio mestiere a volte ci si prende, a volte no; le ragioni possono essere diverse. Se SensibleLogic, che si occupava di intelligenza artificiale e semantica dal 2006, era decisamente troppo avanti rispetto al mercato, una realtà come Antreem, impegnata dal 2012 su service design e user interaction design, è nata al momento giusto. Spero che sia così anche per LocalFocus, Italiana Software e Infoseed, ovvero, le ultime nate o entrate nel gruppo Imola Informatica.
Oggi Java fa parte del panorama, insieme con altri linguaggi, framework ed API che continueranno ad uscire a ritmo incessante provocando entusiasmo, adozione più o meno ampia, follower, disillusi, estimatori inconvertibili.
Credo che questa dinamica non cambierà nel medio termine, e non mi spaventano più di tanto le evoluzioni di scenario: tutto sommato è sparita Sun e i futurologi avevano previsto tutti i disastri immaginabili, ma il codice Java, a tutt’oggi prodotto specialmente nei backend, è ancora prevalente. Il fatto che le architetture tendano a essere sempre più disaccoppiate (fino ad arrivare presto o tardi ai microservices) rende meno importante e impattante la scelta dei linguaggi. Credo che l’evoluzione futura più forte, almeno in Enterprise, verrà sull’ammodernamento delle infrastrutture con cloud, container, infrastructure as code, e con l’introduzione sempre maggiore di intelligenza artificiale e machine learning, aree su cui siamo molto impegnati. C’è infatti ancora molto da fare sia a livello di evoluzioni organizzative, cioè come gestire una struttura che realizza software, sia dal punto di vista metodologico, ovvero come gestire il ciclo di vita del software.
Oggi credo che questi aspetti rappresentino il più grosso problema delle aziende, a prescindere dalle tecnologie e dagli strumenti che vengono utilizzati.