Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Java o C++??
Forum - Java - Java o C++??

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Questo topic è stato chiuso dal moderatore

Ciao ragazzi ho un dilemma da risolvere... Conosco bene il C e vorrei passare ad uno di questi due linguaggi... I miei obbiettivi sono:

1 - Portabilità
2 - Gestire liste,code,pile senza ricrearle ogni volta
3 - Creare applicazioni efficienti

Mi potreste dare un consiglio? Grazie in anticipo per tutte le risposte...

PM
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:19
Venerdì, 18/03/2011
Testo quotato

Postato originariamente da Darkness94:

Ciao ragazzi ho un dilemma da risolvere... Conosco bene il C e vorrei passare ad uno di questi due linguaggi... I miei obbiettivi sono:

1 - Portabilità
2 - Gestire liste,code,pile senza ricrearle ogni volta
3 - Creare applicazioni efficienti

Mi potreste dare un consiglio? Grazie in anticipo per tutte le risposte...



Beh io sto studiando (autodidatta) Java e come portabilità è 99% se non 100% invece il C++ un pò meno vabbè anche lui è portabile però se ad esempio utilizzi #include <windows.h> o #include <conio.h> e molti altri la tua applicazione non sarà portabile su linux e mac...vabbè che poi ci sono i sostituti ad esempio per linux c'è ncurses e invece per windows.h puoi utilizzare wine che include l'header windows.h però devi riscriverti l'applicazione in quei punti dove utilizzi gli header quindi per me è molto meglio che ti impari il Java...Correggetemi se ho sbagliato!:k:

PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 2:09
Venerdì, 18/03/2011
Testo quotato

Postato originariamente da Darkness94:
1 - Portabilità



Meglio Java.

Testo quotato


2 - Gestire liste,code,pile senza ricrearle ogni volta



Entrambi offrono queste strutture nella libreria standard.

Testo quotato


3 - Creare applicazioni efficienti



Troppo vago... efficiente in che modo? Se parli di velocità di esecuzione a runtime, entrambi sono veloci (il C++ un po' di più).

Secondo me dovresti andare su Java solo per il fatto che è un linguaggio più recente ed è richiesto di più nel mondo del lavoro.


Il mio blog: https://piero.dev
PM
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 3:01
Venerdì, 18/03/2011
La prima fonte di "efficienza" sta negli algoritmi che scegli.
Un quicksort scritto in perl alla lunga sicuramente straccia un bubble sort in assembly.

Anche sul discorso "portabilità" non ci sono scusanti. A scrivere portabile si impara, e si può fare in qualunque linguaggio. Ad esempio ho scritto un engine per videogiochi che gira tranquillamente su 4 architetture (ARM, PowerPC, MIPS e naturalmente x86), e su N sistemi operativi (Windows, Linux, Symbian, Maemo, Mac OS X, MorphOS, AROS, AmigaOS, FreeBSD, e potrei continuare...)... ah, chiaramente l'ho scritto in C++ perchè il Java non è presente su tutte queste piattaforme, quindi paradossalmente il C++ garantisce maggiore portabilità.

Terzo punto, non hai considerato la cosa più importante: il programma da creare.
Un linguaggio di programmazione è uno strumento di lavoro, e per fare un certo lavoro ci vuole un certo strumento. Non mi aspetto di poter fare dei biscotti usando una trivella petrolifera, nè tantomeno posso immaginare di programmare un gestionale per un albergo usando il Fortran77.

Quando avrai chiari questi concetti, capirai che la domanda è mal posta e che in fin dei conti la vera domanda che dovresti farti è "cosa voglio programmare?". Una volta chiaro questo, saprai quali sono gli strumenti che devi imparare ad usare :k:

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 9:23
Venerdì, 18/03/2011
Testo quotato

Postato originariamente da pierotofy:
Troppo vago... efficiente in che modo? Se parli di velocità di esecuzione a runtime, entrambi sono veloci (il C++ un po' di più).



spero che tu stia scherzando, tra java e C++ c'è un abisso :D

Testo quotato


Postato originariamente da LittleHacker:
Beh io sto studiando (autodidatta) Java e come portabilità è 99% se non 100% invece il C++ un pò meno vabbè anche lui è portabile però se ad esempio utilizzi #include <windows.h> o #include <conio.h> e molti altri la tua applicazione non sarà portabile su linux e mac...vabbè che poi ci sono i sostituti ad esempio per linux c'è ncurses e invece per windows.h puoi utilizzare wine che include l'header windows.h però devi riscriverti l'applicazione in quei punti dove utilizzi gli header quindi per me è molto meglio che ti impari il Java...Correggetemi se ho sbagliato!




si stai sbagliando, non tanto per quello che hai detto, ma per il fatto che confondi i due "tipi" di portabilità. In C++ devi cmq ricompilare per avere la portabilità, in java no perchè si basa su una virtual machine astratta dal SO.

e cmq qui tutti si stanno dimenticando .NET: ormai il progetto mono per linux ha raggiunto una maturità non indifferente e sotto windows è il miglior ambiente di sviluppo esistente. Perchè perdere tempo con java? un linguaggio che ha ormai gli anni contati?


PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 9:31
Venerdì, 18/03/2011
Con efficiente parlavo di velocità di esecuzione ... inoltre io voglio scrivere codice sorgente open source per gli altri questi sono i miei obbiettivi

PM
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:43
Venerdì, 18/03/2011
Testo quotato

Postato originariamente da HeDo:
spero che tu stia scherzando, tra java e C++ c'è un abisso :D



Aspettavo un commento del genere arrivare da te.

Nota che quando mi riferisco alla velocità di esecuzione, non tengo in considerazione il tempo che ci mette la VM a compilare il codice. Una volta compilato in memoria, il codice (se costruito in maniera intelligente) raggiunge velocità molto vicine al C++.

Leggevo che in alcuni casi è addirittura più veloce (a seconda di come viene compilato il codice C++ equivalente). Il JIT permette di identificare a runtime la piattaforma su cui viene eseguito e permette di sfruttare al massimo le caratteristiche dell'hardware. Questo è più difficile da fare in C++ (perchè la compilazione è statica).

Ad ogni modo, non comincierò la solita battaglia tra linguaggi. Preferisco pure io il C++ se devo fare un programma molto veloce perchè agli utenti alla fine non interessano tutte queste cose, gli interessa quanto veloce è un programma, e il JIT sicuramente aggiunge un bel rallentamento che l'utente riesce a sentire.


Il mio blog: https://piero.dev
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:06
Venerdì, 18/03/2011
quindi piero? Cosa scelgo? Sono ancora molto indeciso ...

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 22:49
Venerdì, 18/03/2011
Testo quotato

Postato originariamente da pierotofy:

Aspettavo un commento del genere arrivare da te.

Nota che quando mi riferisco alla velocità di esecuzione, non tengo in considerazione il tempo che ci mette la VM a compilare il codice. Una volta compilato in memoria, il codice (se costruito in maniera intelligente) raggiunge velocità molto vicine al C++.

Leggevo che in alcuni casi è addirittura più veloce (a seconda di come viene compilato il codice C++ equivalente). Il JIT permette di identificare a runtime la piattaforma su cui viene eseguito e permette di sfruttare al massimo le caratteristiche dell'hardware. Questo è più difficile da fare in C++ (perchè la compilazione è statica).

Ad ogni modo, non comincierò la solita battaglia tra linguaggi. Preferisco pure io il C++ se devo fare un programma molto veloce perchè agli utenti alla fine non interessano tutte queste cose, gli interessa quanto veloce è un programma, e il JIT sicuramente aggiunge un bel rallentamento che l'utente riesce a sentire.



diciamo che se non si sta attenti in Java lagga perfino la GUI :)

Testo quotato


Cosa scelgo? Sono ancora molto indeciso ...



C#

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo