tout est dans le titre
non ben si vous pouvez me donner qq indications entre ses 2 langages ca serait cool ; )
merci
a+
c++ : plus rapide et plus performant
java : portable, plus lent mais plus adapter aux débutants ( uniquement POO)
Voila ![]()
La syntaxe du java est quand même assez rapproché de celle du Langage C. Et puis au passage le c++ est lui aussi très portable même plus que le Java
Matbox2 => Pour le c++, il faut compiler pour chaque plateforme, pour le java tu compile une fois et c´est bon :D
Et alors Quintoff la portabilité est quand même là.
Oui évidamment mais grace a son tipe de portabilité en jav, tu peux faire des applet et il est fort adapté au web et peut aussi faire des applets.
( De toute le JNI du java c´est du C++)
Au final, le C++ est plus portable que le java si on ne compte pas la recompil.
la JVM existe pour Windows, Mac, Linux, Solaris ( jpense) et peut-etre meme si c´est pas sur, BSD...
et encore, c´est pas pour tous les processeurs ( pour linux et BSD ( si ca existe)), SPARC et intel x86 maxi sans doute... Bref, pas brillant.
Alors que pour le prix d´une recompil, le C++ est disponible sur quasi tous les OS et processeurs.
Conclusion : C/C++ + portable que Java.
Ceci est mon avis personnel vous avez le droit ( non, le devoir) de me descendre ( facon de parler bien sur) ![]()
OUps je me répete :s
Je reformule :
Oui évidamment mais grace a son type de portabilité, tu peux faire des applets et il est fort adapté au web.
( De toute le JNI du java c´est du C++)
Pan! Voila t´es mort ![]()
De toute façon c´est inutile de se voiler la face, à l´origine, le java a été créé pour former des programmeurs pour pas chère !
lol je rigole bien en lisant vos postes ; )
Alors contre toutes les idees recues, voici mon point de vue:
C++: entre autre POO, apporte de nombreux nouveaux concepts qui n´existent pas en java.
Plus portable que le java?! LOOOOL
En general un prog n´est pas ecrit en pur ANSI c++, et donc: les biblios utilisees ne sont pas presentes sur toutes les platformes, les sizeof(int) etc peuvent varier ( platform+compilo dependant). Bref, un port pour une autre platforme peut prendre BCP de temps, surtout si certains compilos sont bien chiants..
Java: interprete par une jvm, donc normallement plus lent. Dans 90% des cas, c´est vrai. Sauf que c´est oublier que certains processeurs disposent de jazelle, et permettent ainsi d´executer du bytecode en natif ; )
Ensuite portable, mon cul! Pour peu qu´il y ait un acces gfx/sfx, ben ca utilisent des libs specifiques pour chaque plateforme, souvent fait appel a des jni, etc. Sans compter que les implementations des jvm sont souvent douteuses..
Je concluerai, en enlevant le cote portabilite:
- C++ plus puissant mais plus complexe si l´on veut utiliser les caracteristiques propres au C++
- Java plus simple, plus facile a debugger, bien pour du Web, mais bien restreint, et la plupart du temps plus lent.
Bonjour à tous,
Je UP ce topic car j´ai une question qui me taraude et le titre de ce topic s´y prete parfaitement.
En lisant les réponses à la question de départ de ce topic, j´en retient que le C++ est plus complexe car plus de possibilités et que le Java est plus simple dans l´ensemble mais plus lent à l´execution (vous me corrigez si je me trompe).
Maintenant, ma question concerne essetiellement leurs applications en réseaux:
Y a t-il un des 2 langages qui soit mieux adapté aux applications réseaux et Internet?
Si le Java est plus lent que le C++, est-ce que ça se voit aussi au niveau des échanges réseaux et temps de latence? (dans le cas d´un échange serveur/client)
La mise en place d´un algorithme d´échange réseaux est-il plus facile avec l´un des 2 langage? (quand je dit facile c´est pas au niveau programmation, mais au niveau des processus à mettre en oeuvre et des ressources nécessaires)
Enfin, une fois l´application terminée, existe t-il des restrictions au niveau de la portabilité et des échanges entre 2 systèmes différents? (par exemple un système Windows qui communique avec un système Unix)
Merci d´avance ![]()
Le Java me semblerait bien plus adapté aux réseaux...
Ben pour gerer les sockets etc, le java est plus simple, niveau vitesse ça doit pas fort changer. De toute ça passe par le JNI donc a mon avis c´est pas plus lent que du c++
"Enfin, une fois l´application terminée, existe t-il des restrictions au niveau de la portabilité et des échanges entre 2 systèmes différents? (par exemple un système Windows qui communique avec un système Unix)"
Non.
J´ai déja tester un programme en réseaux entre mac os X (unix) et Windows et no preblem ![]()
En java, le reseau peut aussi se gérer par RMI.
Merci pour vos réponses.
Mon projet est un peu complexe car il s´agira d´un serveur de jeu. En gros, un programme avec de nombreux modules (plein de classes, d´objets, et tout le tralala) et qui puisse aussi lire et écrire dans des tables SQL.
J´ai déjà tout couché sur papier et se sais exactement tout ce dont j´aurais besoin, depuis le nom des tables jusqu´aux différentes classes et instances du programme.
Donc maintenant il ne me reste plus qu´à choisir entre ces 2 langages et voir lequel sera le plus efficace et économique en terme de ressources pour le serveur.
Vu que je ne compte pas commencer la programmation du projet avant 1 ou 2 mois, j´essai de trouver autant que possible tout ce qui pourrais m´aider à partir dans la bonne direction dès le début.
Donc le java semblerais plus adapté aux réseaux si je comprends bien.
Toutefois cette phrase de Kufa me chiffone un peu:
"Java: interprete par une jvm, donc normallement plus lent. Dans 90% des cas, c´est vrai. (...) Sans compter que les implementations des jvm sont souvent douteuses."
Alors Java plus adapté aux réseaux mais moins performant? Ou bien la lenteur dont il parle est très relative et négligeable par rapport au C++? Vu que presque tous les gros jeux sont programmés en C++, je me pose la question.
Avec une moyenne de 100 joueurs sur le serveur, j´aimerai autant qu´il puisse répondre et traiter les données le plus rapidement possible.
Merci d´avance.
Pour ce qui concerne les bases de données, java fournit une API : JDBC.
http://perso.wanadoo.fr/jm.doudoux/java/tutorial/chap022.htm#chap_22
Pour le java sur serveur, tu peux utiliser des servlet, jsp et des beans :
http://perso.wanadoo.fr/jm.doudoux/java/tutorial/chap035.htm#chap_35
http://perso.wanadoo.fr/jm.doudoux/java/tutorial/chap036.htm#chap_36
http://perso.wanadoo.fr/jm.doudoux/java/tutorial/chap026.htm#chap_26
Le java et le c++ sont tous les deux des langages orientés objets, ce qui en fait des langages dit "modernes".
Une des grande caractéristique qui distingue le java du c++ est la gestion de la mémoire.
Ainsi sur des environements embarqués, voir portatifs (donc à mémoire volatile faible) le java est largement préféré.
Mais il faut toujours faire le compromis, comme rappelé ci-dessus, taille/vitesse d´exécution et sûreté.
A+
Merci beaucoup ![]()