Newsgroup: it.comp.java
Titolo: xkè java?

ciao a tutti, qualcuno/a è così gentile da spiegarmi con parole semplici xkè
java? ho studiato all'università il c++! è potentissimo! posso spaziare
dall'alto livello (le classi) al basso livello (routine in asm), c'è x win e
x linux, ho una gestione completa di tutto (puntatori, memoria...) xkè java?
xkè java ha lo standard multi piattaforma? (nn si poteva fare x il c++?) da
quel poco ke ho sentito java nn consente il controllo sulla memoria, è solo
alto livello, insomma ha + limiti del c++!
Qualcuno/a mi illumina? (con parole e concetti semplici?)
grazie di cuore
;)

io la vedo cosě:
1- java č gratis ed alla sun ha permesso di rompere le palle alla Microsoft,
visto che alla fine esiste visual c++, dll solo per windows....i soldi non
fanno schifo a nessuno;
2- forse java č piů facile(una volta capiti gli oggetti e certe sequenze
standard di codice che servono per connettersi al db);
3- alla fine se sbagli con un puntatore o accedi alla memoria o comunque a
basso livello con il c++ ne fai di danni;
4-ma quanti al mondo fanno programmi di altissimo livello tecnologico( 1
azienda su  1000??)...quindi perchč stare a fare i fighi con il c o c++
quando il money arriva con il java o il visual basic?
ciaooooooooooooooo
da Massi

Linux wrote:

Premetto che non conosco c++, anche se ho intenzione di cominciare ad
impararlo entro breve, provo comunque a risponderti per quello che so!
portabilità: una applicazione scritta in java è in grado di girare su ogni
piattaforma dove esiste una jvm senza dover essere ricompilata.
robustezza e sicurezza: il fatto che la gestione della memoria è affidata
alla jvm garantisce una maggiore sicurezza, essendo ridotta la possibilità
di sbagliare da parte del programmatore.
facilità d'uso e velocità di sviluppo: java è più facile da imparare del
c++, inoltre alcune caratteristiche di java come ad esempio l'ereditarietà
singola e la non presenza dei puntatori, danno una struttura più lineare e
regolare ai progetti scritti in java, oltre che rendere il codice molto più
leggibile facilitandone quindi la manutenzione.
Ovviamente tutto questo lo paghi con minori prestazioni e maggiore
occupazione di memoria. Conviene usare l'uno o l'altro a seconda
dell'applicazione che devi sviluppare.
Ciao
Marco
-- 
http://www.fantaclub.it
 - Gestione fantacalcio online

Linux wrote:

Leggi il whitepaper originale di Java:
http://java.sun.com/people/jag/OriginalJavaWhitepaper.pdf
- Dario

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Linux wrote:
| ciao a tutti, qualcuno/a è così gentile da spiegarmi con parole
semplici xkè
| java? ho studiato all'università il c++! è potentissimo! posso spaziare
| dall'alto livello (le classi) al basso livello (routine in asm), c'è x
win e
| x linux, ho una gestione completa di tutto (puntatori, memoria...) xkè
java?
Vero. Il pregio è di poter fare tutto, il 'difetto' è doverlo gestire.
| xkè java ha lo standard multi piattaforma? (nn si poteva fare x il
c++?) da
| quel poco ke ho sentito java nn consente il controllo sulla memoria, è
solo
| alto livello, insomma ha + limiti del c++!
Le applicazioni Java comunicano con uno strato software tra le
applicazioni ed il sistema operativo sottostante. Ecco perchè Java è
portatile, a patto di installare su ciascuna macchina questo strato di
software, la Java Virtual Machine. Non è sempre vero però, di norma i
sorgenti compilati in Java li puoi utilizzare ovunque sia installata una
JVM, in C++ se non erro devi ricompilare i sorgenti.
Inoltre Java eredita molto da C/C++ però è stato concepito per essere
più facile dei predecessori, vedi puntatori(e matematica), ecc.
In definitiva, Java opera ad un livello di astrazione più alto.
| Qualcuno/a mi illumina? (con parole e concetti semplici?)
| grazie di cuore
| ;)
|
Ho provato a spiegarti come meglio potevo il perchè di Java.
Sicuramente in rete troverai info molto più ricche e dettagliate.
Ciao.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/SV2Q5brVWxtv9NwRAihLAKCVarjutD0x7MNXp0+u0rp5AWsr0ACgnEYM
aK7XaeIkSwUTpYzxuPcxEMk=
=Qudz
-----END PGP SIGNATURE-----

Perdonate l'insistenza ma... nonstante le vs risposte (ve ne ringrazio, 
sul serio!) i dubbi purtroppo restano!
Non riesco proprio a capire! :(
Su consiglio di Dario ho scaricato dal sito della sun ed ho letto le 10 
pagine sul Java; confermano quello ke già sapevo! Java è limitato 
rispetto al C++! Xkè non potenziare quest'ultimo?
Perchè non perfezionarlo (magari rendendolo + user friendly oppure 
aggiungendo specifiche classi semplificate x il web)? xkè invece di fare 
ciò si è preferito creare EX-NOVO un linguaggio più limitato, un 
linguaggio che consente SOLO la OOP? non permette la gestione della 
memoria e dei puntatori, non consente di inserire routine in asm,ecc...!
In parole povere: perchè studiare ed utilizzare un linguaggio meno 
potente del C++?
Ci sono cose ke si possono fare col C++ e non col Java!
Difatti chi studia Ingegneria Informatica studia il C++!!!
Allora xkè Java?
Usando un compilatore C++ posso compilare Linux!!! (ovviamente tale 
compilatore è sprecato xkè oltre ad essere un compilatore di C contiene 
anche tutti gli strumenti x l'ultilizzo delle classi!) ma il concetto 
non cambia! il C++ (=C + gli strumenti x la OOP). In C++ posso scrivere 
un programma utilizzando, nello stesso programma, 2 paradigmi di 
programmazione differenti: la OOP e l'imperativa! in Java questo non è 
possibile!
Ad un programmatore ciò dovrebbe infastidire...
E poi, come su detto, Java non consente al programmatore il controllo 
della memoria; ci pensa da sola la JVM! Abberrante x un programmatore!
Per fare una similitudine: ci pensate a shumy ke guida una ferrari con 
l'ABS???
Un vero amante di una macchina (PC od automobile o qualunque altra cosa) 
preferisce sempre un pieno controllo del mezzo ed una TOTALE gestione 
dello stesso, non trovate?
Perdonate sta mia paranoia ma davvero, credetemi, non riesco a darmi una 
sensata giustificazione!(a meno che non prenda in considerazione il 
fatto chee la sun vuole monopolizzare il mercato del software...)
ke ne dite?
:/

 
In realtà è stata(anche) una mossa per non fare monopolizzare il mercato delle 
applicazioni(che sono quelle che fanno poi girare il mercato dei Sis. Op.) a 
Microsoft(che come pronta risposta a provato a rompere il linguaggio con J++, ma 
gli è andata buca).
Ci tengo a precisare che non sono un evangelista(come li chiamano alla Sun) di 
java, e tanto meno un esperto di C++. E come tutti imparo giorno per giorno. E 
se ho scritto delle stupidaggini è una buona occasione per farmelo notare.
Marco

 monopolizzare il mercato del software...) ke ne dite?  :/
Premessa.
Qualsiasi flame sui linguaggi di programmazione e su quale sia il
migliore sono totalmente inutili. In informatica come nel resto del
mondo "tutto dipende" (dagli obiettivi, dalla competenza, dalle
variabili d'ambiente, etc.)
Riprendendo l'esempio di M. Shumacher ti risponso.
Se la Ferrari venisse da te e ti dicesse, sali su questa ferrari
macchina si chiama F2003. Tu sali, riesci per intuito ad accenderla e
durante il primo giro di pista sbielli, batti in testa, fondi il motore
ed ammacchi leggermente il frontalino.
Ora la domanda e' perche' questo e' successo? Quidare una macchina e
relativamente facile, normalmente in 2/3 mesi si riesce a padroneggiare
qualsaisi tipo di mezzo. Ma la F2004 non e' una  autovettura normale,
ti permette cose che le altre non ti permettono (es. velocita'), ha i
controlli al volante etc.
Stessa cosa per un programamtore ed un linguaggio.
Il C++ ti permette di gestire i puntatori. Bene? Dipende, se non li sai
usare correttamente, sei letteralmente fo**uto. Puoi cascare in
situazioni di memori leaking raticamente impossibli da tracciare etc.
Java e' nato proprio per ovviare a certi problemi del C++. E' nato per
essere portabile, e' nato per essere OOP, e' nato per essere
intelleggibile.
Non per ultimo la libreria di classi.
Un linguaggio di programmazione puo' poco senza una libreria di classi,
e quella di Java e tra le migliori, certo, forse non la migliore, ma
sicuramente completa.
Alcune scelte di Sun forse non sono state intelligenti, forse alle
volte anaechiche, troppe volte e' stato promesso cio' che non si e'
realizzato, ma sicuramente sono state scelte che hanno portato ad un
prodotto competitivo.
Prendi ad esempio il C#, un linguaggio moderno, che non e' altro che la
sintesi di Java e Delphi. E' un linguaggio elegante e porta con se una
libreria vastissima, anche lui ha i suoi difetti (es. decompilazione
etc.) ma non per questo va buttato.
Queste sono le mie modeste opinioni, liberi di dissentire, ma per
favore evitiamo flame, che, come premesso, non porterebbero ad alcuna
soluzione.
-- 
I'am what I'am, I do what I can

 
        Sto leggendo il tutorial della programmazione 3D in Java e tu mi dici che 
non è javabile???  Mi sto interessando al mondo 3D con idee molto confuse, 
come mai non consideri java adatto al 3D ?
-- 
 

hinoy wrote:

Penso per una questione di performance. Java da quel putno di vista non
e' competitivo a causa della Virtual Machine, rispetto ad altri
linguaggi compilati nativamente.
Saluti.


 
Ciao
Anche io ho appena iniziato ad usare l'API 3D. La mia è solo una sensazione. 
Personalmente pensavo ai giochi per PC. La vedo male fare un gioco(intendo uno 
serio, tipo Homeworld2 
www.homeworld2.com
) con Java proprio per il prezzo che si 
paga sulle performance a causa dei bytecodes. Questo prezzo, per la maggior 
parte delle applicazioni, è minimo, quasi impercettibile, ma per un gioco di 
questo tipo, dove la velocità non basta mai nemmeno quando è fatto in c++, 
rischia di essere un'altra storia.
Cmq, come detto ho appena iniziato, forse fra 1 mese la penserò diversamente :)
Marco

 :/
Ciao Ivan
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Qualcuno/a mi illumina? (con parole e concetti semplici?)
Credo che le questioni base, al di là di tutto siano due: la
portabilità e la sicurezza, ma nessuno qui ha messo in evidenza la
portata delle conseguenze che hanno questi due aspetti. Se
consideriamo l'ambito di programmazione di java, che è prettamente la
rete, allora la cosa si capisce al volo: si ha bisogno di uno standard
multipiattafoma per facilitare la cooperazione, e la leva degli
standard è sempre stata quello che ha fatto fare passi da gigante alla
produzione industriale, da almeno centocinquant'anni. Non bisogna poi
sottovalutare il discorso sicurezza: non si contano gli exploit che
possono essere effettuati su un sistema programmato in C++, a
cominciare da un brutale buffer overflow, fino ad arrivare ai più
sofisticati.
L'importante è che non si perda di vista l'ambito nel quale si opera:
se sei in rete, con l'attuale (sprecata) potenza di calcolo dei PC
scrivere un'applicazione gestionale, su DB, client-server o altro
usando Java è la strada migliore sotto tutti i punti di vista. Certo
non mi sognerei mai di fare altrettanto se il sistema che sto
programmando ha come obbiettivo primario una certa velocità di
esecuzione, e sto pensando a sisteme che na abbiano *veramente*
bisogno per applicazioni critiche.
Poi non è assolutamente vero che le due tecniche di programmazione si
escludano a vicenda: anzi, sappiamo come possano benissimo cooperare.
In ultima analisi, se scrivi un'applicazione di rete piuttosto pesante
in C++, e poi viene fuori un baco, potrai anche impazzire nel
correggerlo. In java i controlli di sicurezza sono demandati in
massima parte alla jvm: questo, e la potenza di calcolo spropositata
degli elaboratori moderni libera il programmatore dall'incombenza di
dovere riscoprire ogni volta l'acqua calda per doversi preoccupare
della sicurezza e degli aspetti più tecnici, lasciandolo libero di
focalizzare al massimo la propria attenzione sullo specifico problema
che sta tentando di risolvere, e avere più possibilità di venire fuori
con una soluzione *elegante* (anche l'eleganza non è un'aspetto da
sottovalutare: con java è possibilissimo ottenerla, con il C++ meno) e
*riusabile*, altro punto cardine non abbastanza approfondito, che
sottende alla portabilità e all'organizzazione del popolo dei
programmatori in comunità.

Grazie davvero di cuore!!!
Siete stati gentili, disponibili chiari ed esaustivi!
granzie ancora
:)

 ha scritto nel messaggio
news:Z472b.262383$Ny5.8...@twister2.libero.it...

Diciamocoi la verità, il modello di programmazione Java è molto più evoluto
di quello del C++ in virtù del fatto che quast'ultimo deve preservare la
compatibilità con il C. NON sono assolutamrnte un detrattore del C++ anzi,
ma su certe cose i retaggi del passato pesano come macigni. Pensa al
polimorfismo che i C++ funziona solo  con i riferimenti e non con le
semplici istanze di clase....