Newsgroup: it.comp.java
Titolo: Aiuto, cosa scarico?

ho deciso di avvicinarmi al mondo di java e il primo problema, come forse 
per tutti i neofiti, è stato cercare di districarmi tra tutte le varie 
sigle.
Qualcosa alla fine credo di averci capito, ma ho ancora alcuni dubbi.
Quello che io sapevo per averlo letto in rete era che esisteva una Java 
Virtual Machine che rendeva possibile il funzionamento dei programmi java e 
un JDK per lo sviluppo degli stessi (è gratuito vero?).
Ora sul sito di java cercavo le due cose da scaricare, ma non è così 
immediato.
Innanzi tutto della JVM non ho trovato traccia, ho trovato invece J2SE e 
J2EE.
Ho pensato che entrambi comprendessero sia la VM che il JDK, solo che J2EE 
ha qualche funzionalità in più. Mi sono sbagliato?
Adesso vorrei iniziare ad impratichirmi ed installafre il tutto su LINUX. Ho 
pensato di scaricare la versione più completa, cioè J2EE, non dovrebbero 
esserci controindicazioni no anche se è più pesante, vero?
In fondo con gli attuali HD non c'è più problema di spazio.
Le jsp posso farle solo con J2EE o anche j2SE?
Vado su 
http://java.sun.com/j2ee/1.4/download.html
 e scarico "All-In-One 
Bundle" da più di 100 MB, faccio bene?
Per caso la VM adesso si chiama JRE o sono due cose diverse?
-- 
         Giuseppe 

Hai fatto un po' di confusione.
Un programma java compilato ha bisogno della virtual machine per essere
eseguito.
Tale virtual machine si chiama Java Runtime Environment (JRE).
Il JRE è la virtual machine
Per compilare i sorgenti e ottenere i 'programmi eseguibili' per la
virtual machine hai bisogno del compilatore.
Il compilatore (javac) e un po' di altri tool, con esempi e demo si
trovano nel pacchetto per sviluppo che si chiama Java Software
Development Kit (JSDK).
Il JSDK contiene anche il JRE.
Tutto questo relativamente a J2SE (che vuol dire Java2 Standard
Edition).
Il J2EE (Java2 Enterprise Edition) è un framework di estensioni per il
J2SDK per ambienti enterprise con un gran numero di funzionalità
aggiuntive.
Il J2EE NON contiene ne la virtual machine, ne il compilatore (è un
framework di estensioni appunto), per cui ti serve comunque il J2SE
(che sia JSDK o solo il JRE).
Tra l'altro il J2EE che puoi scaricare da sun contiene anche un
application server di 'esempio' su cui provare le tue applicazioni J2EE
compliant.
Il J2SDK completo per la 1.5 dovrebbe essere al max. 50mb (per win32,
45 il pacchetto rpm per linux) quindi a occhio che se sono di + stai
scaricando qualcosa di troppo.
Il JRE ovviamente occupa meno.
Probabilmente tu stai per scaricare il bundle del JSDK comprensivo di
NetBeans che è un IDE visuale (stile Visual Studio per intendersi),
oppure il bundle completo J2SDK + J2EE.

oppure il bundle completo J2SDK + J2EE.
Conosco il tool di sviluppo Visual Studio e lo ritengo molto comodo. 
Lavorare con qualcosa di simile su java sarebbe molto opportuno.
JSDK pensavo fosse già un tool visuale di sviluppo. Come funziona allora?
Dal sito java ho fatto un copi e incolla di ciò che scarico:
All-In-One Bundle:
J2EE 1.4 SDK Update 1  (103-109 MB)
Contains:
Sun Java System Application Server Platform Edition 8 Update 1
J2SE 1.4.2
J2EE 1.4 SDK Samples Update 1
J2EE 1.4 API Documentation
Questo download vale per tutti i SO. Ho pensato che contiene al suo interno 
la JRE per tutti i SO, poi decide lui quale installare. Ho indovinato?
grazie mille!  :)
-- 
         Giuseppe 

 Potrebbe servirmi scaricare J2EE secondo te? Le jsp posso crearle anche senza J2EE?
Allora, JSP è una estensione enterprise per Java2 SE, quindi non la
trovi in J2SE, ma in J2EE, quindi a rigor di logica ti dovresti
scaricare il j2EE.
Ma:
Se devi fare delle JSP ti serve anche un application server che le
faccia funzionare.
Nel pacchetto j2EE della sun c'è dentro questo:
 Sun Java System Application Server Platform Edition 8 Update 1
Che è una 'implmentazione di riferimento' per la piattaforma J2EE,
ovvero è un server di esempio.
Esempio di che?
Di come dovrebbe essere fatto un server j2ee standard.
Purtroppo quel 'coso' lì non è adatto alla produzione, io ti
consiglierei di scaricarti Apache Tomcat 5 che è il server di
riferimento per JSP e servlet.
lo trovi qui:
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
La serie 5.0 è per java 1.4
La serie 5.5 è per java 1.5
Dentro nel server troverai anche le librerie J2EE contenenti le classi
e le interfacce per creare JSP e SERVLET.
In questo modo eviti di scaricarti il malloppone della SUN.
Quindi io ti consigliere di fare così:
1. scarichi il J2SDK 1.4.2 compilatore + jre
(j2sdk-1_4_2_09-windows-i586-p.exe 53mb)
2. scarichi la documentazione (javadoc) delle classi della J2SE (
	j2sdk-1_4_2-doc.zip 32mb)
3. scarichi apache tomcat 5.0.xx (10mb)
4. scarichi Sun Net Beans (ambiente di sviluppo visuale) che per le jsp
e web (netbeans-4_1-windows.exe 46mb) application va benone (occhio che
non è un peso piuma) dal sito 
www.netbeans.info
5. scarichi la documentazione (javadoc) della j2EE
(j2eeri-1_4-doc-api.zip 3mb)
un bel botto di mega non c'è che dire!
:-)

 Conosco il tool di sviluppo Visual Studio e lo ritengo molto comodo. 
Se il tuo scopo è imparare a programmare in java, all'inizio lascia 
perdere ambienti di sviluppo visuali. Ti potrano a concentrare 
l'attenzione sull'interfaccia e rischi di non capire cosa stai facendo.
Non intendo dire che devi programmare l'interfaccia a mano. Intendo dire 
che finché non ti saranno chiari i rudimenti del linguaggio ti conviene 
proprio lasciare stare l'interfaccia grafica.
Finché non saprai la differenza fra una classe ed un oggetto o fra una 
variabile, un riferimento e un'istanza. Finché non capirai cosa 
significa passaggio dei parametri per valore e cosa implica questo. 
Finché non avrai assimilato concetti come ereditarietà e polimorfismo.
Finché non avrai almeno un'idea di come funzioni il multithreading di 
java, concentrati sull'utlizzo base del linguaggio.
Solo in un secondo tempo potrai iniziare ad esplorare altri strumenti. A 
quel punto potrai scegliere se orientarti verso lo sviluppo web (jsp e 
serlvet quindi), o verso lo sviluppo di GUI (awt e tutto il resto).
Il mio consiglio è di muovere i primissimi passi con il solo J2SDK. 
Niente ambienti di sviluppo visuali, niente IDE superaccessoriati, 
niente di niente. Editor di testi, javac e java.
Realizza così le prime classi (il solito HelloWorld.java e non molto di 
più). Segui un libro in questo.
Una volta che ti sarà chiaro cosa significa compilare una classe e cos'è 
un classpath (oltre ad aver imparato i primi concetti del linguaggio) 
potrai iniziare ad usare un ide con tutti i fronzoli (ma ricordati che 
sotto c'è sempre il solito, rassicurante, javac con i suoi parametri).
Io personalmente mi trovo bene con Eclipse (
www.eclipse.org
), altri 
preferiscono NetBeans della sun. Prova ad installarli entrambi se vuoi, 
e poi scegli quello che preferisci (non perdere troppo tempo nella 
scelta, a quel punto uno vale l'altro).
Ancora non utilizzare eventuali ambienti visuali.
Spero che questi consigli ti siano d'aiuto.
Andrea

:-)
Con un buon ADSL e la faccia tosta di chiedere un favore a mio cugino che ce 
l'ha si puň fare! :)
saluti
                Giuseppe

beh, per linux li trovi nella stessa pagina, solo un po' più sotto,
ovviamente non hanno 'windows' nel nome...
J2SDK 1.2.3_09 per linux in pacchetto rpm:
j2sdk-1_4_2_09-linux-i586-rpm.bin
tomcat per linux : jakarta-tomcat-5.0.30.tar.gz
netbeans per linux: netbeans-4_1-linux.bin
i file della documentazione sono cross platform, dato che sono in
html.....
Ciao.


Sicuramente ne terrò conto, grazie!
:)
-- 
         Giuseppe 

 programmare senza beneficierne è tanta! :)
Questo sarà il primo scoglio da superare con java. Soprattutto se la 
programmazione VB non è cambiata negli ultimi anni.
Spero di non averti scoraggiato con i miei commenti, ma come ti ho detto 
tutto dipende da quali sono le tue intenzioni.
Andrea

Qualcosina di object oriented la conosco. Anche se, spesso la tentazione di programmare senza beneficierne è tanta
Male!

Male!
Ho già iniziato a fustigarmi! :)
ciao
-- 
         Giuseppe 


Ci proviamo lo stesso, ciao! :)
-- 
         Giuseppe 

 ha scritto nel messaggio

sei stato gentilissimo ad indicarmi con questa precisione i nomi.
Era l'unico modo per essere sicuro di scaricare la roba giusta: ogni volta
controllavo che il nome del file fosse lo stesso di quelli segnalatimi da
te.
Già avvicinarsi a java per un neofita non è facile, scaricare i file
sbagliati non sarebbe stata la maniera migliore per iniziare.
Ho già scaricato tutto il malloppone! :)
Però, un problemino lo stò avendo adesso.
Non ho mai installato un programma su linux e pensavo fosse come su windows,
invece pare non sia.
Se per esempio clicco sul file "j2sdk-1_4_2_09-linux-i586-rpm.bin" posto sul
desktop:
Mi dice: " impossibile aprire j2sdk-1_4_2_09-linux-i586-rpm.bin!
Il nome del file j2sdk-1_4_2_09-linux-i586-rpm.bin indica che si tratta di
un file sconosciuto, ma il suo contenuto indica che è del tipo "shell
script". L'apertura di questo file potrebbe rappresentare un rischio per la
sicurezza del sistema in uso. E' consigliabile non aprireil file se non lo
si è personalmente creato o se non è stato ricevuto da una sorgente fidata.
Per poter aprire il file normalmente, rinominarlo con la corretta estensione
per il tipo shell script. Alternativamente usare il menu apri con per
scegliereuna specifica appliacazione per il file".
Ma come si installano i file su linux?
-- 
         Giuseppe

 Cosa è cambiato? Io pensavo fossero cambiate solo le macchine.
Tanto per dirne una il garbage collector, principale causa della 
lentezza delle prime versioni, è stato completamente ristrutturato e 
ottimizzato.
Un altro motivo sono i compilatori JIT (Just In Time) che in alcuni casi 
consentono di avere codice più ottimizzato di quanto si avrebbe con del 
normale codice compliato. Il motivo è semplice, se tu compili un 
programma che poi dovrà essere rilasciato non puoi fare troppe 
assunzioni sulla piattaforma su cui verrà eseguito: compilerai per un 
processore i486 o al massimo i586.
Un compilatore JIT, al contrario, saprà esattamente qual'è 
l'architettura su cui il codice viene eseguito (modello esatto del 
processore, numero di processori, ecc.) e effettuare una ottimizzazione 
più mirata, magari sfruttando set di istruzioni fornite da quel 
particolare modello.
Guarda questo articolo per esempio: 
http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html?ca=dgr-lnxw01JavaUrbanLegends
Andrea

 completion.
Forse ho dato troppo risalto all'idea di cominciare senza IDE visuale.
Io pensavo solo che sarebbbe una buona idea all'inizio, prima ancora di 
concentrarsi sul linguaggio, capire il funzionamento del compilatore e 
della VM.
Ad esempio un ide tende a nasconderti (per semplificartene la gestione) 
il concetto di classpath.
Questo non significa che uno deve autoflagellarsi e programmare sempre 
senza ide, magari tentando di gestire a mano centinaia di package.
Andrea

 diffuso di 
asp.net
?
Tanto per cominciare questa affermazione andrebbe verificata.
Poi bisogna tenere in considerazione che 
asp.net
 è in qualche modo 
l'erede di asp che si è diffuso prima di jsp+servlet.
Infine penso che abbiano punti di forza differenti. Di base jsp + 
servlet non è uno strumento leggero per introdurre del contenuto 
dinamico all'interno delle pagine html.
Risulta invece uno strumento migliore quando si tratta di applicazioni 
complesse in cui l'interfaccia web è solo una parte del sistema (almeno 
a quanto ne so io, che non conosco a fondo 
asp.net
).
Andrea

Dei vari file che ho scaricato (esattamente quelli consigliati da te) ho 
finora installato solo J2SDK.
Prima di andare avanti con l'installazione di tutti gli altri volevo un po' 
soffermarmi per meglio capire.
Cosa posso fare in sintesi con J2SDK?
Compilare ed esguire applicazioni soltanto? O c'č qualche altra importante 
funzione che mi sfugge?
Perchč se cosě fosse l'unica cosa che avrei in piů rispetto a JRE sarebbe il 
compilatore.
-- 
         Giuseppe 

i tool di supporto per sviluppatori... (oltre al compilatore)
1.javadoc
2.appletviewer
3.jar
4.debugger
5.javah (crea gli header c++ per JNI)
6.javap
7.keytool per gestire e generare chiavi pubbliche
8.jarsigner per firmare i jar
9.policytool
10.kinit, klist, ktab per kerberos
11.rmic (compilatore RMI)
12.rmiregistry,rmid, serialver (tool per RMI)
13.tnameserv, idlj, orbd, servertool (tool per CORBA (IDL))
etc...
li trovi nella sezione "tools" della documentazione
poi trovi anche demo, samples e i sorgenti delle librerie standard.
Cosa puoi fare con il j2sdk ?
beh, applicazioni a finestre o console, applet e applicazioni
distribuite secondo lo standard rmi, e corba.
poi se ci aggiungi librerie specifiche per cose particolari ci puoi
fare quasi di tutto...
Cose che NON puoi fare senza j2ee.
pagine web jsp
servlet
ejb
web services (ma puoi scaricare la libreria specifica senza prendere
tutto il j2ee per fare i client)
client/server mail (ma puoi scaricare la libreria specifica senza
prendere tutto il j2ee)
altre cose un po' specifiche che adesso non mi vengono in mente...
ciao

 ha scritto nel messaggio 
news:1129823303.3...@g49g2000cwa.googlegroups.com...

Finora mi sono limitato a fare un copia incolla seguendo le istruzioni 
contenuti nella guida "a first cup of java".
Praticamente su linux ho creato un fiile .java che poi ho compilato e reso 
.class ed avviato da terminale.
Sul terminale mi è uscita una scritta (mi pare la solita "hello world!").
E'stata la mia prima esplorazione di J2SDK.
Prima di installare il tool visuale, per dare un'ultima occhiata al J2SDK, 
mi consigli di fare qualcos'altro?
Oppure passo subito a Net Beam?
Il mio scopo è di avere le idee chiare passo passo di quello che sto facendo 
e "a first cup of java" effettivamente è stato utile in questo senso.
-- 
         Giuseppe 

 compilatore.
Lo dici come se fosse poca cosa ;-)
Comunque ti hanno già elencato i vari tool che ci sono nel J2SDK ma la 
parte importante è il compilatore.
Andrea

 ha scritto nel messaggio

Beh, allora quasi quasi installo il tool di sviluppo visuale, mi annoio 
così!  :o)
-- 
         Giuseppe