Avanti Indietro Indice

2. Domende Generiche su Java e HotJava

Questa sezione è una introduzione generica (non specifica su Linux) a Java e HotJava.

2.1 Cosa sono Java e HotJava e perchè sono interessanti?

Java è un linguaggio conscio della rete, che ricorda superficialmente il C++, ma molto più piccolo e più compatto e progettato in modo più pulito. E` un linguaggio a raggio illimitato dotato di garbage collection (raccolta dei rifiuti) come il Lisp, ma con il controllo statico sui tipi (è stato correttamente descritto come uno 'Smalltalk con una corretta sintassi'). Comprende gli thread (processi leggeri) come una capacità nativa ed ha potenti caratteristiche per la sicurezza della rete.

HotJava è un browser per il WWW scritto in Java. Il suo maggiore vantaggio sugli altri browser è dato dal suo essere a conoscenza di un nuovo costrutto HTML chiamato un APPLET,che consiste in qualche classe Java che viene eseguita sulla macchina cliente. Perciò, documenti WWW scritti pensando a Java possono incorporare oggetti-codice 'vivi', invece di solo dati.

La capacità di mandare in giro intatti oggetti-codice rappresenta probabilmente il più significativo avanzamento nella tecnologia WWW fin dal primo rilascio di Mosaic. Come minimo, fornisce un browser Web che non necessita di perpetui aggiornamenti per gestire nuovi formati di immagine e nuovi tipi di tag.

Java viene compilato in uno pseudo-codice chiamato `J-code'; gli interpreti Java eseguono J-code. Lo J-code corre il rischio di diventare un codice-macchina virtuale universale indipendente dall'architettura o un linguaggio intermedio di compilazione. Vi sono voci che un compilatore ADA-95 che genera J-code sia già stato costruito e che un compilatore C sia in fase avanzata; eventualmente, è verosimile che linguaggi a facciata multipla saranno disponibili per scrivere, su una qualunque macchina dotata di interprete Java, sia applet che programmi completi.

2.2 Da dove provengono Java e HotJava? Chi può utilizzarli?

Java e HotJava sono stati sviluppati presso la Sun Microsystems da un team diretto da James Gosling (ben noto come progettista di Gosling Emacs e di NeWS).

L'ultima volta che la Sun ha provato ad imporre uno standard tecnico consistente è stato con NeWS, il suo Network Window System (Sistema di Finestre in Rete). Benchè NeWS fosse quasi universalmente considerato tecnicamente superiore a X, X vinse perchè i suoi sorgenti erano liberamente ridistribuibili. La Sun ha imparato da questo errore, e ha reso Java e HotJava molto più generalmente disponibili; i sorgenti possono essere recuperati sotto una licenza piuttosto rilassata (vedi Java come Software Liberamente Ridistribuibile). La Sun sta incoraggiando sbarchi in ambienti non-Sun.

Netscape ora interpreta Java. La Microsoft ha preso la licenza della tecnologia nel Dicembre 1995. Così sembra che il supporto per Java probabilmente diverrà universale nel 1996.

Java era stato chiamato Oak. HotJava era noto come WebRunner.

2.3 Quanto è maturo Java?

Il 12 Dicembre 1995 la Sun ha rilasciato la versione ''Beta 2'' di Java. Un mese più tardi ha rilasciato la 1.0, la prima versione di `produzione'. La API (l'interfaccia di programmazione) dell'ambiente Java che definiscono l'accesso al Sistema Operativo dell'host ed al sistema di visualizzazione (windowing) è stata dichiaratamente semi-congelata; può venire estesa, ma non sarà modificata in modo incompatibile.

La versione 1.0 di questo FAQ è stata pubblicata con la beta 1.0 del kit per sviluppatori Java (JDK) per Linux, portatovi da Randy Chapman.

Si sa che esistono buchi significativi nell'implementazione della sicurezza di Java. Non è ancora una buona idea quella di usare Java per applicazioni delicate. Si attendono soluzioni per questi problemi nelle release in produzione dopo la beta.

2.4 Dove posso trovare documentazione su Java e HotJava?

La Sun mantiene un esteso web HTML di documenti relativi a Java e HotJava su http://java.sun.com. Questi documenti sono replicati su http://java.blackdown.com ed altrove; vedi la lista della Sun dei siti speculari.

2.5 Sì, ma dove trovo documentazione cartacea?

La serie ufficiale di libri su Java della SunSoft Press è in fase di realizzazione alla Addison-Wesley. Dettagli su questi si possono trovare nel FAQ del newsgroup comp.lang.java.

Parecchi utilizzatori di Java della prima ora hanno raccomandato ''Hooked on Java'' scritto da membri del team Java. ''Ben scritto, benchè avrei preferito qualcosa meno di base'' era un commento.

O'Reilly & Associates sta preparando la sua serie di libri su Java in cooperazione con la Sun. Sarà incluso (almeno) una ''Nutshell Guide To Java'' (Guida a Java in un guscio di noce: Le guide in un guscio di noce sono una serie di manuali UNIX di gran successo della OR&A. NdT), un manuale di riferimento al linguaggio, un manuale di riferimento alla libreria di classi, e un libro sulla macchina virtuale a byte-code. (Full-disclosure statement: Your HOWTO editor has been invited by O'Reilly Associates to serve as primary technical reviewer for this series, and is being paid for that work.) (Il curatore dell'HOWTO avverte di essere pagato dalla O'Reilly & Associates in qualità di principale revisore tecnico.)

SAMS ha un libro chiamato ''Learning Java in 21 Days'' (Imparare Java in 21 giorni). Non ho ancora recensioni.

Uno dei nostri contributori, spulciando un catalogo locale, ha trovato 3 libri già pubblicati:

Il nostro informatore continua:

Ho comprato il terzo (quello di Tim Richey). Il CD-ROM contiene roba dalla versione alfa, benchè suggerisca che la versione beta dovrebbe essere pronta in quei tempi, ed indica java.sun.com come un buon posto dove trovare informazioni più recenti. A parte questo, è piuttosto buono, anche nel far notare che bene, è fuori luogo per me riempirvi di pagine e pagine di descrizione della API perchè 1) quadruplicherebbe le dimensioni del libro e 2) vengono continuamente modificate e 3) potete trovare queste informazioni on-line ... ecc.

Dave Dittrich scrive:

direi che 'Java in 60 minutes' potrà anche essere letto in 60 minuti, ma non vi insegnerà a programmare in Java in 60 minuti (sorpresa, sorpresa!). Mi sembra che ''Java in 60 minuti'' sia solo uno dei molti concorrenti alla corsa per essere per primi in libreria con un libro sull'argomento del momento. Non sembra di avere più di quanto si possa trovare sul Web, compreso un sacco di testo che sembra proprio tirato fuori dal Java Language Specification (http://java.sun.com/JDK-beta2/psfiles/javaspec.ps).

Continua Dave:

lo stesso per ''Java!'', solo che quest'ultimo entra molto più nei dettagli sui concetti della programmazione orientata agli oggetti, ecc. Qualcuno mi ha consigliato un'altro testo che ugualmente parla di astrazione di dati/metodi ed altri concetti della programmazione orientata agli oggetti, che è ''Structure and Interpretation of Computer Programs'' di Abelson, Sussman e Sussman (MIT Press).

Nota finale: a tutt'oggi (Gennaio 1996), è probabilmente una buona idea stare lontani dal libro di Ritchey e su ogni altra cosa basata sulla API alfa. La Api beta è sostanzialmente diversa, e la Java 1.0 in fase di realizzazione avrà le sue differenze.

2.6 Esiste materiale in Italiano su Java?

Non ho notizia di libri o riviste originali italiani , mentre so di diverse traduzioni di libri americani:

NOTA: Poichè il vostro traduttore non vive in Italia, ha ovvie difficoltà a recarsi in libreria per reperire informazioni di prima mano. In questo ha estremo bisogno di aiuto da parte vostra: sono ben accetti elenchi di libri, riviste e recensioni. Contattate liberamente Fabrizio Polacco.

2.7 Dove posso trovare sulla rete collezioni di codice Java?

Archivi WWW di applet sono disponibili nelle seguenti locazioni:

Per molti degli applet in queste pagine è disponibile il codice sorgente, ed i programmatori sono invitati ad usarli.

Altri pagine verranno segnalate nel FAQ del newsgroup comp.lang.java.


Avanti Indietro Indice