CTRL-ALT-CANC
Per i fruitori di JAVA
Messaggio del 24-07-2002 alle ore 17:38:34
Allora, qualche sera fa parlavo con il pupo e con Sko a riguardo di Java e, devo dire, mi è rimasto qualche dubbio che vorrei venisse fugato!
Mi spiego meglio.....
Conosco il C ed il C++ e, quindi, ho subito notato la somiglianza strutturale fra java ed i suoi avi, in particolar modo con C++ che, come sicuramente sapete, contempla l'uso di oggetti.
Data la notevole somiglianza, non riesco a capire quali potenzialità mi debbano far preferire java a C++, ci sono differenze per quanto riguarda l'istanziazione di classi? regole di ereditarietà differenti? Linking di oggetti potenziato? Librerie ottimizzate per l'accesso alla rete?
Mi interessa, ma voglio vederci chiaro!
Grazie.
Allora, qualche sera fa parlavo con il pupo e con Sko a riguardo di Java e, devo dire, mi è rimasto qualche dubbio che vorrei venisse fugato!
Mi spiego meglio.....
Conosco il C ed il C++ e, quindi, ho subito notato la somiglianza strutturale fra java ed i suoi avi, in particolar modo con C++ che, come sicuramente sapete, contempla l'uso di oggetti.
Data la notevole somiglianza, non riesco a capire quali potenzialità mi debbano far preferire java a C++, ci sono differenze per quanto riguarda l'istanziazione di classi? regole di ereditarietà differenti? Linking di oggetti potenziato? Librerie ottimizzate per l'accesso alla rete?
Mi interessa, ma voglio vederci chiaro!
Grazie.
Messaggio del 24-07-2002 alle ore 17:59:03
Il C++ e' orientato alli classi, ma col C++ pero' puoi fare anche codice non orientato alle classi (il main ad esempio). Quindi e' soggetto a potenziali errori. Java e' puramente a oggetti, la sua unica macchia sono i tipi (int,void ecc che non sono oggetti, ma sono le uniche cose in java tutto e' un oggetto)
java permette di estendere sono una classe al contrario del c++ che puo' fare ereditarieta' multiple. Questo e' l'errore piu' frequente per chi programma a oggetti, cerca di ereditare tutto unmondo per avere una sola funzione che utilizzera una volta sola. Java pero' recupera questo problema con l'implementazione di teoricamente infinite interfaccie (una cosa e' ereditare un mondo e una cosa e' scaricarsi solo l'interfaccia)
il Java piu' essere portato su tutte le macchine, e tutte le classi sono buone per tutte le macchine indifferentemente dal so, proc, e procs. Tutte le classi anche quelle grafiche, server, net, io-mapping, kernelcall ecc. Il C++ per essere portatile deve essere ANSI, questo vuol dire poter utilizzare solo la STL come libreria e portare in codice sorgente e disporre di un compilatore sulla macchina destinazione se questa e' diversa da quella su cui si sta sviluppando
in Java non si hanno problemi di memoria, di delete, di cancellare cose create con la new al contrario del c++ che per ogni new deve tenere una dispose altrimenti il processo satura la memoria del sistema
in Java tutto e' un puntatore e gli oggetti statici non possono esistere, quindi teoricamente ci serve un mostro di programma per avere "user memory fault"
Il C++ e' orientato alli classi, ma col C++ pero' puoi fare anche codice non orientato alle classi (il main ad esempio). Quindi e' soggetto a potenziali errori. Java e' puramente a oggetti, la sua unica macchia sono i tipi (int,void ecc che non sono oggetti, ma sono le uniche cose in java tutto e' un oggetto)
java permette di estendere sono una classe al contrario del c++ che puo' fare ereditarieta' multiple. Questo e' l'errore piu' frequente per chi programma a oggetti, cerca di ereditare tutto unmondo per avere una sola funzione che utilizzera una volta sola. Java pero' recupera questo problema con l'implementazione di teoricamente infinite interfaccie (una cosa e' ereditare un mondo e una cosa e' scaricarsi solo l'interfaccia)
il Java piu' essere portato su tutte le macchine, e tutte le classi sono buone per tutte le macchine indifferentemente dal so, proc, e procs. Tutte le classi anche quelle grafiche, server, net, io-mapping, kernelcall ecc. Il C++ per essere portatile deve essere ANSI, questo vuol dire poter utilizzare solo la STL come libreria e portare in codice sorgente e disporre di un compilatore sulla macchina destinazione se questa e' diversa da quella su cui si sta sviluppando
in Java non si hanno problemi di memoria, di delete, di cancellare cose create con la new al contrario del c++ che per ogni new deve tenere una dispose altrimenti il processo satura la memoria del sistema
in Java tutto e' un puntatore e gli oggetti statici non possono esistere, quindi teoricamente ci serve un mostro di programma per avere "user memory fault"
Messaggio del 24-07-2002 alle ore 18:03:01
comunque questo non significa che il c++ sia da meno... sono due mondi e ognuno deve essere collocato in base al contesto di interesse. Il C++ rimane e rimarra per molto tempo IL linguaggio che ti permette di fare tutto! sia ben chiaro!
comunque questo non significa che il c++ sia da meno... sono due mondi e ognuno deve essere collocato in base al contesto di interesse. Il C++ rimane e rimarra per molto tempo IL linguaggio che ti permette di fare tutto! sia ben chiaro!
Nuova reply all'argomento:
Per i fruitori di JAVA
Registrati
Mi so scurdate la password
Hai problemi ad effettuare il login?
segui le istruzioni qui