Newsgroup: it.comp.java
Titolo: Aiuto per un principiante

Qualcuno mi sa dire dove posso trovare un tutor o qualcosa di simile per
principianti sul linguaggio Java?
Mi potreste dire brevemente le caratteristiche del JAVA?
Ciao,
Karlo.
- - -
E-Mail: 
carl...@tin.it
ICQ: 19128262

Mi potreste dire brevemente le caratteristiche del JAVA?
E' un linguaggio ad oggetti, con una sintassi che ricorda
vagamente il C++ (piu` che altro perche` ricorda il C...:-)
e una semantica decisamente diversa, abbastanza
orientata alla "comodita`" (relativa; non aspettarti il
Visual Basic...!) e alla sicurezza di programmazione
(garantito controllo a runtime di tante cose, tipo l'uso
corretto degli indici degli array) anche a scapito, a
volte, dell'efficienza (il singolo impatto piu` grande su
entrambi gli assi: come in Visual Basic, non ti devi
preoccupare tu di "buttar via" gli oggetti al momento
giusto -- tu usali; quando hai finito di usarli, se serve,
ci pensa il runtime del linguaggio a sbarazzartene).
Questo linguaggio e` corredato di librerie di runtime
standard che sono molto ricche per certe funzionalita`, 
come l'uso di GUI, l'interfaccia di rete, ecc ecc, e altre
API di estensione/facoltative per fare tante altre cose;
ogni rilascio successivo del linguaggio (la vecchia 1.0,
la attuale 1.1, la 1.2 prossima ventura) porta ad una
enorme estensione delle librerie "standard", che sono
oggi con l'1.2 tanto ricche e complesse quanto Java
come linguaggio e` abbastanza "snello" (per non dire
delle mille API di estensione/facoltative...).
Le implementazioni di Java variano molto sulla base
degli scopi che si propongono.  Quella di riferimento,
Javasoft (Sun), detta Java Development Kit (JDK) e
attualmente giunta al release 1.1.6, cura soprattutto
la _portabilita`_; il compilatore genera pseudo-codice
("bytecode") che viene poi interpretato da programmi
noti come "macchine virtuali", col vantaggio di potere
girare su macchine (reali) molto diverse, viaggiare in
rete, ecc, e lo svantaggio di prestazioni non brillanti in
molti casi.  Esistono poi anche "compilatori nativi", che
generano "normali" file eseguibili per le piattaforme che
supportano; e vari altri tipi di soluzioni, come ad esempio
dei compilatori che, dai sorgenti Java, generano dei
sorgenti C, che uno poi puo` compilare su qualsiasi
macchina abbia un compilatore C (portabilita` nel senso
piu` tradizionale del termine -- quella del bytecode e`
piu` "radicale").  Fra le applicazioni della portabilita`
"radicale" del bytecode, grossa risonanza hanno avuto
in un primo tempo le "applet", piccole applicazioni (che
sono di solito assai limitate per ragioni di sicurezza)
fatte per essere incorporate in una pagina web (oggi,
molti ridimensionano il ruolo delle applet e decantano
invece quello di Java "dal lato del server"; in realta` le
applet hanno ancora un ruolo, magari non e` quello che
si pensava originalmente ed e` spesso meglio coperto
dal nuovo standard Dynamic HTML, ma potrebbe anzi
essere quello di processare al volo dei file XML...!-).
Infine, esiste la implementazione Java di Microsoft
("Visual J++"), che, pur implementando appieno il
linguaggio e il 90%+ delle API, e` giudicata molto male
dai puristi Java perche` estende l'uno e le altre, cosicche`,
se usi queste estensioni, perdi la portabilita` e ti trovi
con un file che gira solo in ambienti tipo Windows a
32 bit (e` pur sempre bytecode, magari per supportare
le varie versioni di Windows/NT, Windows CE, ecc ecc;
Microsoft non ha ancora rilasciato un compilatore di
tipo "codice nativo" per Java).  A fronte della perdita
di portabilita`, ti trovi grosse comodita` per sfruttare
appieno Windows e le varie tecnologie a Windows
connesse (ActiveX, Direct/X, ecc ecc).
Puoi usare gratuitamente anche il Java di Microsoft
(si scarica dal sito Microsoft come "Microsoft SDK for
Java", attuale release 3.01) oltre a quello di Javasoft
(che si scarica dal sito Javasoft) -- entrambi sono gratis
solo nelle versioni "a linea di comandi", per gli IDE con
GUI eccetera si paga (ma ci sono tante, tante altre IDE
e strumenti vari, molti gratis o a bassissimo costo).  Ti
consiglio caldamente di acquistare "Cd Monografie 3"
ora in edicola, che ti risparmiera` di scaricare molte
centinaia di megabyte, dandoti direttamente le stesse
cose che potresti scaricarti dalla rete (magari, in certi
casi, non nell'ultimissima versione, ma intanto puoi
farti un'idea senza intasare la tua rete per un mese!-).
Alex