Bene, siete ancora tutti qui? Java non è solo la parola di uso più comune tra gli utenti di Internet ma è anche un vero strumento di sviluppo, con cui è possibile sviluppare applicazioni di notevole spessore e complessità. Se tra voi c'è ancora qualcuno che pensa che Java è solo il diminutivo di Javascript, allora, è venuto il momento della dura verità: non solo sono due cose diverse ma tra loro esiste una differenza sostanziale un po' come quella che esiste tra farsi un giro in autoscontro oppure partecipare ad un "demolition derby" senza casco. Sebbene in questa serie di articoli avremo modo di parlare del Javascript, ci pare importante sgomberare il campo da equivoci nei quali spesso cadono anche molte risorse di settore, apparentemente competenti.
Un amico, grande appassionato di Java, mi aveva sottoposto l'intenzione di realizzare un premio per il Trash-Java ovvero un riconoscimento per quel gran mare di applicazioni spazzatura (soprattutto applet) senza le quali, il mondo e la rete sarebbero senza dubbio migliori. Proprio in questi giorni mi è capitato di visitare un sito di grande passaggio la cui navigabilità veniva irrimediabilmente compromessa da un applet in grado di produrre un effetto di gusto discutibile oltre che facilmente simulabile con altre e ben più semplici tecniche.
Ma il nostro amato linguaggio è ancora giovane e la comunità dei programmatori Java deve ancora crescere e maturare affinchè si possano effettivamente vedere dei risultati proporzionati al gran parlare di questi mesi. Io ritengo, per quel poco che conta, che un linguaggio di programmazione lo si debba valutare rispetto ad un insieme di dettagli che spesso sfuggono agli stessi utilizzatori. Ad esempio il Java ha una gestione dinamica della memoria, tanto per differenziarsi ad esempio, dal Fortran o dal Cobol, gestita mediante uno heap (mucchio) che permette appunto, di allocare in corsa nuovi dati in memoria. Inutile dire che questo permette l'ottimizzazione dello spazio di memorizzazione oltre a consentire meccanismi di gestione della ricorsività. La fase di ripulitura poi, detta "Garbage Collection" è una delle caratteristiche più interessanti del linguaggio, togliendo al programmatore l'onere, più che l'onore, di liberare "manualmente", mediante primitive ad hoc (dispose), le strutture dati inutilizzate. Altrettanto intrigante è il meccanismo che realizza la gestione degli eventi ma forse è il caso di non entrare in aspetti troppo tecnici, anche se affezionarsi a questo o quel linguaggio, spesso dipende dalla conoscenza profonda che se ne ha.
La scorsa volta ho fatto riferimento ad un libro on-line di grande successo tra i programmatori Java, partendo dal presupposto che un buon programmatore ama comunque il supporto cartaceo. Ok il CD Rom, Ok Internet ma alla fine come si fa a stampare il tutto? Niente sostituisce il fruscìo delle pagine durante la ricerca affannosa di soluzioni… per il momento l'ipertesto può attendere! In questa scia vorrei proporvi