je l'avais expliqué dans un post précédent:Envoyé par adiGuba
http://www.developpez.net/forums/sho...&postcount=380
je l'avais expliqué dans un post précédent:Envoyé par adiGuba
http://www.developpez.net/forums/sho...&postcount=380
Pourquoi "un peu" comme Qt ?Envoyé par Mat.M
Sous Linux, pour faire une interface graphique, il n'y a pas 36 solutions : soit on utilise X11 (méthode brute), soit Xt (méthode un peu moins dure), soit on utilise Qt (utilisé par KDE), GTK+ (utilisé par GNOME), Fltk ou un autre truc du genre (méthodes douces et portables). Il n'y a pas vraiment une "API Linux" comme il y a une "API Windows", en tout cas pas sur le point des GUI (après pour la console c'est autre chose).
j'ai dit un "peu" parce que je ne suis pas spécialiste programmation UI sous Windows c'est tout simpleEnvoyé par spidermario
![]()
c'est quoi la conclusion alors ?
chacun reste sur ces positions ?
pas de commentaire sur les resultats JVM client et server ?
ben comme d'habitude, personne n'admettra avoir tort, car il a en partie raisonEnvoyé par epsilon68
les résultats avec jvm server me semblent quand même avoir été particulièrement "orientés"... je préferais qu'on nous montre des résultats sur des benchs type jgrande ou caffeinemarkEnvoyé par epsilon68
![]()
orienté ?Envoyé par gorgonite
j'ai juste executé c'est tout, je ne l'ai pas mis au pif quand meme
Ayant d'abord appris et maitrisé le langage C puis C++, et étant aujourd'hui un vrai développeur en Java, je peux donner mes impressions de développeur sur la question...
Tout d'abord, il m'est paru net que les temps d'exécution pour de petites applications de type console étaient plus rapide en C++ qu'en Java. Déjà, la différence entre les temps de démarrage de chacuns des programmes est assez perceptible.
Comme beaucoup l'ont dit, en C++, on peut "jouer" finement avec la mémoire (utiliser l'allocation dynamique ou non par exemple, qui joue aussi sur le temps d'exécution du programme, choix que l'on a absolument pas en Java...). Ensuite, derrière un programme en C++, il n'y pas de GC qui tourne en fond, et la mémoire utilisée, grâce aux destructeurs, est exactement celle dont nous avons besoin. En Java, on a le GC qui tourne, et des objets inaccessibles mais qui utilisent toujours de la mémoire, tant que le GC ne s'est pas occupé d'eux...
Pour moi (puisque beaucoup campent sur leurs idées, je vais faire de même) le C++ est plus performant en terme d'exécution que le Java...
Cependant, le Java apporte plus de confort au développeur : le nombre d'API libres développés en Java est tout simplement hallucinant ! Ensuite, pas de pointeurs ! Une logique objet plus simple... La gestion des pointeurs que je maîtrisais à l'époque (ça commence à faire longtemps que j'ai pas fait du C++) est un des soucis que l'on a absolument pas en Java...
Ensuite j'ajouterai que pourtant, je préfère la syntaxe du C++ (pas de type booléen, tout ce qui est différent de 0 est vrai... du luxe dans l'écriture des conditions je trouve... ; les mots clés private et public qu'il faut répéter devant tous attributs et méthodes en Java, impossibilité d'écrire une méthode esseulée sans l'incorporer dans une classe, pas de passage par référence, pas de header - heureusement qu'il existe les javadocs - ...)
Pour conclure, je dirai que, comme beaucoup l'ont déjà dit, il y en a pas un qui est le plus mieux que les autres, ils ont des différences, qu'il faut utiliser... Si le temps d'exécution est une contrainte pour l'application que je dois développer, je choisirai le C++. Sinon, je choisis le Java pour son confort de développement
Un dernier point : moi qui croyait que Firefox et Open Office étaient lents parce qu'ils étaient développés en Java... voila que je me mets à douter et il se pourrait bien que je ne campe plus sur mes positions afin de rejoindre le camp de ceux qui disent que Java et C++ sont aussi rapides![]()
Faut se méfier des bench, avec un peu de malice on arrive à peu près à leur faire dire n'importe quoi.
Java est plus approprié que C++ pour le developpement des application d'entreprise ( portail d'entreprise, application n tier, business intelligence etc..) ainsi que pour le developpement d'application pour tout petit terminaux ( "mobiles", "puces" ) tout simplement par qu'il y existe déjà beaucoup de librairie standard, et beaucoup d'open source fiable.
Je ne c pas si quelqu'un l'a dejà fait, mais je proposerais que ceux qui ont une parfaite connaissance sur tout l'environnement des deux langages, proposent des domaines ou l'un des langages est plus appropriè que l'autre et en argumentant
t'es sûr d'avoir fait du vrai C++?Envoyé par Claythest
C'est vrai, il y a un type booléen en C++. Simplement, la conversion se fait dans le sens bool->int et pas int->bool, ce qui permet d'utiliser un int comme condition (compatibilité avec le C oblige).
Envoyé par spidermario
Je pense que ce qu'il voulait dire, c'est que c'est relativement crade d'utiliser un int dans une condition.
Par exemple :
Même si c'est possible, c'est pas terrible et ça ne facilite pas la maintenabilité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int i = 0; if(!i) { ... }
Notez qu'il est également possible en C++ de surcharger l'opérateur bool() ainsi que les opérateurs ==, !=, !, ... et j'en passe.
Perso,
j'ai fait du C++ et du java, mais je prefere largement java, je ne reviendrais pas sur la portabilité du langage, la simplicité du dev et la présence d'une grande communoté java...
C++ est fort pour sa gestion de memoire et son orientation objet , mais il a fait son temps....
Perso j'aime pas beaucoup ce genre de racourcis. Le pire étant les conditions booléennes en php, faut dire que php considère comme false :Envoyé par millie
null, 0, 0.0, une chaine vide ou contenant 0 : "0", null ou un tableau vide, bref un nid a bug
le C++ est en train de revenir sur le devant de la scene je trouve ...Envoyé par baroudi
le Java aussi bien soit-il reste lent, et on revient au C++ ... c'est mon cas.
C'est vrai que la lenteur de Java est un de ses plus grands points faible, tout comme la nécessité d'une machine virtuelle.
La lenteur bof, dans le cas de 90% des softs, ca n'aura aucune influence et java a d'autres avantages qui compensent cette lenteur comme la facilité de faire du clustering avec les serveurs d'application. D'ailleurs le coeur de réseau ip de pas mal d'opérateurs téléphoniques risque de passer en java d'ici quelques années, c'est en train de commencer, pourtant il s'agit bien de grosses performances qui sont nécéssaires ici.
pour exemple , je travaille chez un hebergeur, et 99% des plate-forme sont basées sur java , avec des weblo, websphere et quelque tomcat, le coeur de toutes les applications est developé en java ,sachant que c'est des applications sensibles qui demande bcp de robustesse vu le nombre de client qui peut depasser 5000 connection simultanées...
C'est pas pr autant que les temps de réponse sont lents![]()
Partager