Java è un linguaggio di programmazione estremamente semplice e
potente, che racchiude in sé tutti i vantaggi della programmazione
orientata agli oggetti, assieme alla possibilità di creare facilmente
applicazioni che funzionano con Intenet.
Con esso è infatti possibile scrivere due tipi di applicazioni:
applet e programmi stand-alone.
Le applet sono una delle novità più interessanti introdotte
da Java; la loro caratteristica peculiare è quella di poter essere
eseguite allinterno di un browser web abilitato, in un punto
qualsiasi di una pagina html.
I programmi stand-alone sono quelli che conosciamo comunemente e
che non necessitano di un ambiente software esterno per poter girare.
La principale promessa di Java è lindipendenza dalla piattaforma,
ossia la capacità dello stesso programma di essere eseguito su piattaforme
e sistemi operativi differenti, cosa del tutto nuova rispetto ai
tradizionali linguaggi di programmazione.
Con questi ultimi, loperazione di compilazione di un file
sorgente porta ad un file binario specifico per la macchina sulla
quale il codice sorgente è stato compilato (fig. 1).

Compilare un file sorgente Java significa generare un formato speciale,
detto bytecode, che potrà essere interpretato da un apposito
interprete della piattaforma utilizzata (fig. 2).

Il bytecode è simile al codice macchina prodotto da altri linguaggi,
ma non è specifico per alcun processore, per cui, una volta compilato
il programma, il file ottenuto (avente estensione .class) potrà
essere spostato da una piattaforma allaltra senza dover essere
ricompilato.
In questo modo si aggiunge un livello tra sorgente e codice macchina.
Linterprete di bytecode è noto col nome di Java Virtual
Machine; per unapplet essa è fornita da un browser abilitato
per Java, mentre per unapplicazione stand-alone occorre che
ne sia installata una sul sistema che dovrà farla girare.
Ciò costituisce un enorme vantaggio per noi programmatori, che non
dovremo preoccuparci di creare versioni differenti dei nostri programmi
per ogni piattaforma :-)).
Tuttavia i piaceri si pagano, e questa interessante proprietà ha
un costo: questo ulteriore livello intermedio introduce un ritardo
che, soprattutto per grosse applicazioni, può risultare perlomeno
sgradevole.
Infatti trattandosi di un linguaggio interpretato, Java necessita
di più tempo per eseguire le proprie operazioni.
Diverse sono le soluzioni pensate per risolvere questo problema,
tra le quali la realizzazione di un processore capace di eseguire
direttamente il bytecode (una virtual machine tuttaltro che
virtuale), vanificando però la tanto sbandierata indipendenza dalla
piattaforma.
Java eredita dal C++ gran parte della sintassi e della struttura
OOP, ma Sun Microsystems (lazienda che ha sviluppato Java)
ha ben pensato di escludere alcune caratteristiche ambigue del buon
vecchio C++, cosicché chi già lo conosce e lavora con esso da tempo,
sebbene non troverà difficoltà ad imparare a programmare in Java,
tuttavia potrà trovarsi spiazzato dallassenza di alcune funzionalità
del vecchio linguaggio, come i puntatori e lereditarietà multipla
(ne parleremo meglio nelle prossime lezioni).
Particolare attenzione è stata posta dai progettisti di Java al
problema della sicurezza, così tanto sentito nellera
di Internet e delle-commerce, soprattutto nelle applet.
Queste ultime, infatti, hanno delle limitazioni intrinseche, appositamente
volute per assicurare che nessun programmatore malizioso possa creare
applet che eseguano operazioni dannose o indiscrete a danno dei
client che aprano una determinata pagina web.
In particolare, unapplet non può:
Leggere o scrivere file sul sistema dellutente (di conseguenza
nemmeno eseguire programmi su di esso o prelevarne informazioni
di alcun tipo)
Comunicare con un sito Internet diverso da quello su cui viene distribuita
la pagina web che include lapplet
Nonostante gli sforzi compiuti da Sun in questo senso, non si può
essere sicuri al 100%, e su Internet non è difficile trovare informazioni
sulle cosiddette hostile applets.
Ora che conosciamo Java più da vicino, passiamo ad esaminare lo
strumento di sviluppo distribuito gratuitamente da Sun, il Java
Development Kit.
Alla prossima.
Torna all'indice Generale del corso di Corso di Java di Software Planet