Java: programmazione per il web e non solo...


Java Sun

Earthweb
(ex Gamelan)

Jars

Java Boutique

Java Center

PIP






 JSem: 1.1


     Per una breve presentazione di Java, consultare la P.I.P..

Un piccolo complemento sulla storia della nascita di Java.

   Patrick Naughton era un giovane ingegnere della Sun (siamo verso il 1990) particolarmente deluso dalla politica poco innovatrice della Sun e decise di cambiare ditta ed andare alla Next; communicò questa decisione al suo capo. Il capo di Naughton apprezzava molto il giovane e cercò di trattenerlo ad ogni costo. Finalmente fu deciso che, prima di lasciare, Naughton avrebbe scritto un rapporto contenente tutte le sue critiche e i possibili rimedi. Questo rapporto fu letto dai capi della Sun, i quali, inaspettatamente, accolsero tutte le critiche di Naughton e decisero di formare un gruppo sperimentale per la creazione di nuove tecnologie; questo gruppo all'inizio era composto da Naughton (che ovviamente rimase alla Sun), James Gosling e Mike Sheridan. Il gruppo orientò le proprie ricerche sul mercato degli elettrodomestici. Gosling, che era un programmatore provetto, mise a punto un nuovo linguaggio (Oak), indipendente dalla piattaforma e derivato dal C++. Nel 1992 il gruppo presentò i suoi primi risultati che furono accolti con entusiasmo alla Sun, tant'è che il gruppo fu riorganizzato in una filiale a parte, sotto il nome di FirstPerson. A questo punto FirstPerson era impegnato a cercare di vendere la sua tecnologia sul mercato della televisione interattiva. Furono avviate trattative con TimeWarner, ma l'affare non si concluse, in realtà il mercato della televisione interattiva non era pronto per accogliere quel tipo di tecnologia (dieci anni dopo, si può dire che quel mercato non ha ancora "preso il volo"). Nel 1994 le cose andavano piuttosto male alla FirstPerson che non era ancora riuscita a vendere alcun prodotto, così la società fu sciolta. Ma proprio in quei anni iniziò lo sviluppo del web e i dirigenti della Sun (in particolare Bill Joy, co-fondatore della Sun) capirono il potenziale di Oak per il web. Nel 1995, Oak, completamente rivisitato, fu ribatizzato Java e presentato su Internet. Le qualità del prodotto e la politica aperta della Sun, che mise a disposizione di tutti il compilatore, le specifiche, le librerie e la documentazione decisero il successo di Java.

   Questa piccola storia (in realtà è quasi una favola) dovrebbe fare riflettere parecchia gente, sia tra gli imprenditori che tra gli accademici.


   Cinque anni dopo, Java è sempre vivo, sta bene (e questo già vuol dire molto nel mondo frenetico del web) ed è tuttora considerato come IL linguaggio di programmazione per il web; questo non solo per le famose applets, ma anche per lo sviluppo, sempre crescente, di applicazioni varie (servlets ed altre).

   Nel corso degli anni, Java ha subito varie modifiche. Per esempio la gestione degli eventi è completamente cambiata dalla versione 1.0 alla versione 1.1. Oggi la versione "stabilizzata" (Java2) corrisponde alla versione 1.2.2 (o 1.2.x) e comprende migliorie impressionanti tali i pacchetti Swing, Java2D, ecc... purtroppo non tutti i browsers sono pienamente compatibili con Java2, per essere pienamente Java2 compatibili bisogna scaricare una delle utlime versioni del Java-plug-in (alcune decine di Mb) e questo, certo, non fà piacere a chi è collegato da casa via modem. Per questo motivo ci limiteremo nel seguito di questo seminario alle funzionalità di Java2 implementate su la maggior parte dei browsers (cioè ci limiteremo, come nella PIP, all'awt, lasciando da parte Swing, ecc...).
   Un'ultima parola sui browsers. Abbiamo detto che Java è indipendente dalla piattaforma, certo questo è vero, ma fino a un certo punto. Per esempio la forma dei pulsanti è diversa su una piattaforma Windows e su una piattaforma Solaris. Nello stesso modo i browsers Netscape e InternetExplorer non gestiscono Java esattamente nello stesso modo, in generale le differenze sono trascurabili, ma in certe condizioni particolari possono essere importanti. Pertanto si raccomanda di testare sempre il lavoro con entrambi i browsers.


Come usare questo materiale?

Come già detto nella PIP, una grossa difficoltà nell'imparare un nuovo linguaggio di programmazione si trova nell'impatto iniziale, sembra che bisogni studiarsi interi manuali prima di potere fare girare un qualche programma. Qui si cerca di aggirare l'ostacolo, iniziando subito scrivendo qualche semplice programma. E' vero però che per andare avanti è necessaria una maggiore comprensione del linguaggio. Cercheremo quindi di procedere, in parallelo, su due piani diversi: la PIP è un'introduzione veloce, "pratica", che va letta dall'inizio alla fine, imparando un pò a memoria i commandi, senza cercare di capire troppo il "perchè"; invece questa parte, più teorica, va letta con più calma e riflessione; è qui che vengono svelati tutti (in realtà solo una parte :-\) i misteri incontrati nella PIP.
In conclusione, leggere prima la PIP (almeno l'inizio), magari provando a fare girare qualche applet, cercando anche di modificarle un pò e poi, con calma, leggere questa seconda parte.

     Prima di iniziare, cerchiamo di rispondere ad una FAQ (Frequently Asked Question):

quale è la differenza tra Java e Javascript?

Malgrado i nomi siano quasi uguali, sono due cose sostenzialmente diverse. Javascript (che fu introdotto da Netscape), come indica il nome, è uno script; questo script deve essere necessariamente "immerso" in una pagina web per essere eseguito; ogni volta che la pagina viene caricata, il browser interpreta automaticamente lo script (questo può rendere, in un certo modo, Javascript assai pericoloso). Javascript, a differenza di Java, non è precompilato, viene soltanto interpretato, è quindi più lontano di Java da un puro linguaggio macchina (il browser interpreta un file .class in bytecodes, non un file .java). Un'altra differenza è che Javascript non è "fortemente tipato" cioè si può usare una variabile senza dire di che tipo è (questo non è ammesso in Java).
Le capacità grafiche di Java sono chiaramente superiori (difficile disegnare con Javascript).
Finalmente la differenza essenziale è che Java permette di fare delle vere e proprie applicazioni "stand alone" cioè che possono girare al di fuori di un browser, e questo non è possibile con Javascript.


 next		content