Newsgroup: it.comp.aiuto
Titolo: What's java?

Ne ho sentito parlare spesso, so che č utile per far funzionare immagini 
in movimento su browser come opera, ma cos'č di preciso? Se non sbaglio 
non č solo un giocherello che rende i siti web piů carino, ma č anche 
qualcosa che viene studiato da studenti di informatica o simili. Qualcuno 
saprebbe dirmi un pň che č sta faccenda?
Grazie per l'attenzione ed attendo una vostra risposta.
-- 
<<<stefjnoskynov reminds to alls: death to the spam and to all 
spammers!>>>
Ah! contact me to 
fedel...@yahoo.it

 Grazie per l'attenzione ed attendo una vostra risposta.
http://java.sun.com/docs/books/tutorial/
http://www.jia.it/
http://telemat.die.unifi.it/book/Internet/Java/java-i.htm
--
Francesco Loppini
www.flopweb.com
www.generazionemusica.com
ICQ: 13019849

in movimento su browser come opera, ma cos'è di preciso? 
Java (da NON confondere con JavaScript) è un linguaggio di
programmazione inventato dalla Sun Microsystems nel 1995 e tuttora
molto utilizzato.  Trovi maggiori informazioni sul sito della Sun
(
http://java.sun.com/
) e su it.comp.java.
-- 
Andrea Laforgia
#exclude <windows.h>

Grazie per l'attenzione ed attendo una vostra risposta.
Java principalmente e' un linguaggio di programmazione,
multipiattaforma e general purpose, di 3° generazione fortemente
caratterizzato dal paradigma di programmazione orientata agli oggetti.
Ma non solo. Java e' anche una specifica per la macchina virtuale
(Java Virtual Machine), con un suo codice macchina. Ogni sistema che
contiene la JVM deve implementare le sue specifiche, permettendo così
di eseguire il codice macchina Java su piu' sistemi reali.
Naturalmente Java e' anche una collezione di API (interfaccia per i
programmatori) per realizzare i programmi.
-- 
        Sephiroth
____________________________
Linux Registered User:181013
"Computers are like air conditionners, they stop
working properly when you open windows."

saprebbe dirmi un pò che è sta faccenda?
In breve:
Java è un linguaggio di programmazione multipiattaforma. Ovvero è un
linguaggio di programmazione con cui tu puoi fare softaware e farlo
girare in qualunque piattaforma (es. windows, linux, playstation2, sim
card, ecc...). Ovviamente per farlo girare hai bisogno di una
"macchina virtuale" che sappia leggere i file di Java apposita per il
SO usato.
--
Marco "Duff" Palermo
http://www.marcoduff.com/

 
-- 


 
what?


Ed è utilizzato per animazioni grafiche nei siti web, sbaglio?
Java è un linguaggio di programmazione!!!
Tutti i programmi, giochi, ecc... che girano su un pc sono stati
scritti in un linguaggio di programmazione. Java è uno di questi!
Anche le animazioni grafiche in un sito possono essere scritte in
java, ma quelle non sfruttano sicuramente al 100% le potenzialità del
linguaggio!


what?
Il pezzo fondamentale per un calcolatore e' la cpu. Ma la cpu non
esegue tutto quello che gli viene richiesto, se questo e' scorretto.
Il codice eseguibile deve seguire certe regole di sintassi e
grammaticali, cosi' come quando comunichiamo dobbiamo seguire certe
regole (per gli elaboratori: protocolli) per farci comprendere dagli
altri.
Ora, tutte le CPU hanno delle regole differenti (in poche parole
l'Instruction Set) e il codice scritto per una certa CPU non puo'
girare su cpu di architettura differenti (diciamo con instruction set
differente).
Lo standard Java specifica delle regole per una CPU, che di fatto non
esiste. E tu dirai "E allora non servono proprio a niente queste
regole!". Ma e' proprio li' il bello: la cpu "virtuale" deve essere
emulata dai sistemi reali.
In questo modo un sistema reale, con una certa cpu, crea un ambiente
virtuale (emula la cpu, ram, ecc..) su cui puo' girare il codice
scritto per la cpu virtuale: nel nostro caso i programmi java.
Tutti i sistemi che aderiscono allo standard Java, devono creare
l'ambiente virtuale chiamato Java Virtual Machine (spesso ci sono nomi
differenti ma questo e' il piu' popolare). In tal modo se ci sono
tanti sistemi su cui e' stato creato il livello della JVM, possiamo
dire che di fatto i programmi java sono multipiattaforma.
Spero di aver chiarito i dubbi.


what?
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Introduction.doc.html#3057


Ed č utilizzato per animazioni grafiche nei siti web, sbaglio?
No, quello č Javascript, una cosa differente.


No, quello č Javascript, una cosa differente.
Scusa ma anche Java e' utilizzato per animazioni grafiche sui siti.


dire che di fatto i programmi java sono multipiattaforma.
Non sapevo che la storia fosse questa... Da quello che dici sembra che
la JVM sostituisca il SO! Da quello che ne so io la storia č diversa!
Si crea un codice Java, si compila con un compilatore adatto al SO in
uso e si crea un formato diverso dagli eseguibili normali, ovvero
diverso dal codice macchina. Si crea infatti un formato chiamato
bytecode. Questo formato č indipendente dal SO in uso, per questo
motivo serve un traduttore che prenda il bytecode e lo rende leggibile
ad un SO. E poi il SO che si occupa sempre dell'aggangio con hw. Da
quello che ne so io la JVM č un traduttore che si pone tra bytecode ed
il SO. Per questo motivo il bytecode č indipendente dal SO ed la JVM
no!
Posso anche sbagliarmi, magari mi documento un poco, ma da come tu
presenti la JVM mi sembra controlli a basso livello (sorpassando anche
il SO) i pezzi hw di un sistema...
Ripeto, posso sbagliarmi, ma non ti nascondo che il mio naso si č
storto piů volte leggendo il tuo post! :p


No, quello è Javascript, una cosa differente.
No, java può fare applicazioni nei siti web che Javascript si sogna di
fare!


 Spero di aver chiarito i dubbi.
si, ti ringrazio


il SO) i pezzi hw di un sistema...
No, non intendevo dire questo. Il S.O. non viene assolutamente
sostituito, pero' di fatto tutti i programmi Java non vedo per niente
il S.O. sottostante, ma solo la JVM.
Ma <POLITICHESE>la chiave della nostra divergenza</POLITICHESE> sta
nel limite della JVM, poiche' la JVM non prevede il controllo a basso
livello dell'hardware: i programmi si devono sempre interfacciare alle
JavaAPI oppure alle chiamate di sistema della JVM, che quindi non
dovrebbero far accedere all'HW.
Quello che sostieni e' corretto: la JVM non comunica direttamente con
l'HW, ma questo penso sia da vedere sotto un certo aspetto. Per me la
JVM e' implementata in modo da avere un hardware molto ridotto, mentre
per te sembra solo un traduttore da bytecode Java ad assembly.
Il motivo per cui lo vedo cosi' e' perche' esiste proprio un
linguaggio "Assembly Java", di cui trovi la mappatura del set delle
istruzioni qui:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Mnemonics.doc.html
Si tratta solo di due modi di vedere la stessa cosa.
