View Full Version : Vantaggi di Java: quali sono?
Mi dite i vantaggi di giavi rispetto agli alteri linguaggi?
IMHO i vantaggi sono :
- compatibilità multipiattaforma (grazie alla Virtual Machine)
- alta astrazione dalla macchina fisica
- velocità di sviluppo
- grande disponibilità di librerie
- compatibilità con sistemi palmari ed embedded
- alta integrazione con il web
Gli svantaggi sono :
- lentezza (grazie alla Virtual Machine)
- alta astrazione dalla macchina fisica (che non permette di fare tutto ciò che si vuole)
- è decompilabile
IMHO rispetto ad altri linguaggi/ambienti (Borland, Microsoft e altri framework per i più disparati linguaggi compilati) ha solo (anche se il primo non è poco) i primi due punti...mentre qualsiasi altro linguaggio compilato (o quasi) non soffre di alcuno degli svantaggi qui sopra...
Perche l'astrazione è sia vantaggio sia svantaggio?????
Cmq al posto del C++........mi consiglieresti di studiarlo il Java?
ilsensine
20-10-2002, 20:49
Perche l'astrazione è sia vantaggio sia svantaggio?????
L'astrazione implica semplicità di sviluppo, uniformità e portabilità, ma impedisce l'uso di caratteristiche specifiche di una determinata macchina o OS
Cmq al posto del C++........mi consiglieresti di studiarlo il Java?
Dipende cosa ci fai ora col c++. Se la velocità è un requisito essenziale, non puoi sostituirlo col java. Nota comunque che gli applicativi java, benché più lenti dei programmi c, non sono delle "lumache" se scritti bene ;)(ho visto un decompressore mp3 completamente java, ad esempio).
In ogni caso nessuno ti può impedire di arrivare ad un discreto livello in C++ e poi passare a Java...
Al momento di sviluppare il programma potrai scegliere il linguaggio più adatto...
Poi visto che sono molto vicini (sia dal punto di vista delle parole chiave che nella programmazione object oriented) potrebbe essere anche un vantaggio...
Ma cosa intendete per velocità lenta del java???????
ciao e tnk
I file .class sono compilati in un linguaggio macchina particolare...che è quello della Virtual Machine...
La Virtual Machine per un certo ambiente non è altro che un emulatore che permette di eseguire codice nativo per la Virtual Machine su quel particolare ambiente...come può essere un emulatore PSX o NeoGeo...
Ne segue un certa lentezza rispetto allo stesso programma realizzato compilato con il linguaggio nativo della macchina hadware...
All'inzio questa differenza si sentiva molto...mentre ora si è un po' ridotta, ma in certi contesti si fa ancora sentire...
Originariamente inviato da cionci
[B]All'inzio questa differenza si sentiva molto...mentre ora si è un po' ridotta, ma in certi contesti si fa ancora sentire...
confermo quello che ha detto cionci nel suo primo post.
la "lentezza" di java si fa sentire soprattutto nelle applicazioni lato utente che usano le librerie grafiche.
Per applicazioni lato server invece un'applicazione ben scritta ha prestazioni piu' che adeguate.
Un altra caratteristica positiva di java e' il grande interesse della comunità open source, per cui hai disponibilità di ottimi prodotti (come Tomcat o JBoss) o di librerie (Log4j, xerces/xalan) molto ben sviluppate.
Tassadar
21-10-2002, 10:43
Non dimentichiamo dell'enorme mole di RAM che serve per far giare i prg Java :)
Originariamente inviato da Tassadar
[B]Non dimentichiamo dell'enorme mole di RAM che serve per far giare i prg Java :)
è cosi lento e pesante?????
Tassadar
21-10-2002, 14:27
abbastanza si, sopratutto, come già detto, per prg facenti uso di GUI. Insomma non è un linguaggio adatto per i gestionali :D
Comunque ti conviene imparare bene il C/C++ poi impari anche java :)
e allora perche prog è adatto?
Tassadar
21-10-2002, 15:54
web application, enterprise applications, grossi sistemi informativi. :)
Originariamente inviato da Tassadar
[B]web application, enterprise applications, grossi sistemi informativi. :)
applicazioni tipo firewall o chat o notepad(o + complessi),no???
Ho sentito che il SO dei Cellulari Nokia è in java, è vero????
Tassadar
21-10-2002, 16:23
bèh se per firewall intendi proxy si, ammesso che non fai un'interfaccia grafica :) se invece intendi sistemi di NAT e/o packet filtering allora credo che la cosa sia poco fattibile. Per il notepad avanzato si parla sempre di interfaccia grafica no? :)
Per il nokia non ti so rispondere :)
Originariamente inviato da Tassadar
[B]bèh se per firewall intendi proxy si, ammesso che non fai un'interfaccia grafica :) se invece intendi sistemi di NAT e/o packet filtering allora credo che la cosa sia poco fattibile. Per il notepad avanzato si parla sempre di interfaccia grafica no? :)
Per il nokia non ti so rispondere :)
ma Awt e Swing so cosi pesanti?????
ma java.awt e java.awt .Swing so cosi pesanti?????
Originariamente inviato da Luc@s
[B]ma java.awt e java.awt .Swing so cosi pesanti?????
se confrontati con altre soluzioni si'.
Il motivo principale e' sempre da cercare nell'astrazione che lo contraddistingue, per cui tu puoi usare le stesse chiamate per generare una finestra sotto win o su motif :o
Originariamente inviato da Luc@s
[B]
applicazioni tipo firewall o chat o notepad(o + complessi),no???
Ho sentito che il SO dei Cellulari Nokia è in java, è vero???? proprio grazie all'elevato grado di astrazione, JAVA è il linguaggio ideale per relaizzare il firmware degli elettrodomestici e dei telefonini...Non dimentichiamoci poi l'introduzione della nuova tecnologia J2ME (Micro Edition) utilizzabili da alcuni recenti cellulari e che permetterà di scaricare sul proprio cellulare o palmare applicativi java.
Originariamente inviato da Luc@s
[B]
Cmq al posto del C++........mi consiglieresti di studiarlo il Java?
Java è strettamente derivante dal C, si assomiglia anche nella sintassi... Per questo ti consiglio di cominciare col C, almeno le nozioni fondamentali ;)
Originariamente inviato da cn73
[B]
Java è strettamente derivante dal C, si assomiglia anche nella sintassi... Per questo ti consiglio di cominciare col C, almeno le nozioni fondamentali ;)
beh, oltre alla sintassi tutta questa somiglianza non la vedo :o
che intendi?
io sto utilizando java per creare un gestionale per palmeri e devo dire che la multipiattaforma è veramente comoda.
Ho una domanda da farvi: per farlo andare sui palmari ( adesso ho programmato una versione per pc) basta la jvc del palmare o devo compilarlo con un compilatore apposta per il palmare?
ciao
Originariamente inviato da cn73
[B]
Java è strettamente derivante dal C, si assomiglia anche nella sintassi... Per questo ti consiglio di cominciare col C, almeno le nozioni fondamentali ;)
quelle le ho
Originariamente inviato da kingv
[B]
beh, oltre alla sintassi tutta questa somiglianza non la vedo :o
che intendi?
Bhè la sintassi mi sembra già importante :D
Comunque intendevo simile dal punto di vista delle funzionalità.
Originariamente inviato da Luc@s
[B]
quelle le ho
Allora comincia JAVA.
Originariamente inviato da Pot
[B]io sto utilizando java per creare un gestionale per palmeri e devo dire che la multipiattaforma è veramente comoda.
Ho una domanda da farvi: per farlo andare sui palmari ( adesso ho programmato una versione per pc) basta la jvc del palmare o devo compilarlo con un compilatore apposta per il palmare?
ciao
Java è indipendente dalla piattaforma, ma è legato alla Virtual Machine... un programma JAVA compilato una sola volta su una qualche macchina con un compilatore Java versione X, è in grado di girare su una qualunque macchina su cui sia installata una Virtual Machine in gradi di supportare la versione X di JAVA. Perciò quello che devi procurarti è la Virtual Machine compatibile per il tuo palmare.
Ma come faccio a far rullare il programma? non esite un file java..... non so come eseguirlo è questo il problema!
avevo aperto una discussine giotni fa su questo!
Discussione (http://forum.hwupgrade.it/showthread.php?s=&threadid=327235)
Rispondi li grazie così non andiamo troppo ot
ti dico la mia esperienza:
io AMO java! e' cosi' pulito e ben deifnito che e' una bellezza!
e' un piacere programmaci!
Originariamente inviato da Mazza2
[B]ti dico la mia esperienza:
io AMO java! e' cosi' pulito e ben deifnito che e' una bellezza!
e' un piacere programmaci!
sssssht che se ti sente cionci..... :D :D :D [/siz]
Originariamente inviato da Mazza2
[B]ti dico la mia esperienza:
io AMO java! e' cosi' pulito e ben deifnito che e' una bellezza!
e' un piacere programmaci!
Eh...fuori :p :D
A parte gli scherzi non è male il metodo di programmazione...
Non ti credere poi che programmando (nel modo giusto) in C++&STL sia così più sporco...
Il fatto è che il limite (pregio) fondamentale di Java resta sempre...la Virtual Machine...
Originariamente inviato da Mazza2
[B]ti dico la mia esperienza:
io AMO java! e' cosi' pulito e ben deifnito che e' una bellezza!
e' un piacere programmaci!
Perfettamente d'accordo! ;)
Tassadar
23-10-2002, 13:20
Originariamente inviato da cionci
[B]
Eh...fuori :p :D
A parte gli scherzi non è male il metodo di programmazione...
Non ti credere poi che programmando (nel modo giusto) in C++&STL sia così più sporco...
Il fatto è che il limite (pregio) fondamentale di Java resta sempre...la Virtual Machine...
Puntatori rulez :D
Originariamente inviato da Tassadar
[B]Puntatori rulez :D
Certo, ma non necessariamente... Con la STL nella amggior parte dei casi i puntatori ci si possono anche scordare...
Tassadar
23-10-2002, 15:43
pensiamoci invece :D
Originariamente inviato da kingv
[B]
beh, oltre alla sintassi tutta questa somiglianza non la vedo :o
che intendi?
Per quanto ho potuto sperimentare, Java e' il C++ semplificato. Prendete il C++, togliete la gestione dei puntatori e della memoria (che di per se' c'e', ma e' trasparente al programmatore) aggiungete qualche limitazione nella costruzione delle classi/oggetti (ad esempio, niente ereditarieta' multipla, anche se poi con l'utilizzo di "friend" si puo' fare una cosa del genere), compilate il programma in un linguaggio cross-platform, et-voila' abbiamo un programma Java!
Forse sono stato un po' troppo semplicistico, ma conoscendo il C++, il passaggio a Java e' immediato ed indolore.
Bye
Una "sorta" di ereditarietà multipla si può facimente realizzare, facendo "implementare" n classi alla nostra classe...
Originariamente inviato da cn73
[B]Una "sorta" di ereditarietà multipla si può facimente realizzare, facendo "implementare" n classi alla nostra classe...
Si, ma "implements" non ti da tutta la liberta' che hai in C++
Bye
Originariamente inviato da bsummer
[B]
Si, ma "implements" non ti da tutta la liberta' che hai in C++
Bye
se le tue classi derivano spesso da due contemporaneamente o sei un genio o stai facendo qualcosa di orrido a livello di design ;) :o
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.