|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 150 ![]() |
Quels sont les avantages et les inconvénients respectifs majeurs des langages de programmation C++ et Java l'un vis-à-vis de l'autre ?
__________________
</aliasjcdenton> "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves" |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 30 ![]() |
C++ beaucoup plus rapide que java.
java beaucoup plus portable que C++. pour toi nouveauté de programmation : - Le C++ n'est pas tout objet - les pointeurs ! |
|
|
31
|
|
|
#3 |
|
Membre éclairé
![]() ![]() Thierry Ingénieur développement logiciels Inscription : avril 2002 Messages : 121 ![]() |
Java et C++ sont deux langages distincts (bien que très semblables) et n'ont pas les mêmes objectifs. En effet, pour faire ton choix entre les deux cela dépend de ton objectif et de tes contraintes (support, nombre d'utilisateurs, portabilité, ...)
|
|
|
20
|
|
|
#4 |
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 150 ![]() |
Eh bien en fait je désire connaître (un bien grand mot, disons plutôt apprendre
Et c'est justement la question que je me pose de savoir dans quel cas il est plus judicieux d'utiliser l'un plutôt que l'autre. J'ai bien compris en ce qui concerne la rapidité d'exécution et la portabilité mais quels sont les autres critères de choix en fonction de quel genre d'application ?
__________________
</aliasjcdenton> "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves" |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : décembre 2002 Messages : 60 ![]() |
C++ est plus complet (on peut a peu pres tout faire avec), plus performant (quand correctement concu et code), plus generaliste(bien que en principe objet, on n'est pas oblige de faire de l'object avec), plus puissant (template, ...), plus complet (il vit depuis longtemps et possede de tres nombreuses librairies, standard ou non). C'est egalement un langage tres complique et tres sujet a l'erreur et a l'introduction de bogues.
Java est plus facile a apprendre et utiliser, plus portable, plus objet. Dans les deux cas il peut y avoir des problemes de compatibilite. Au niveau C++, c'est surtout lie a la portabilite (si tu code du C++ standard), mais le code est ensuite rarement compatible, sur une meme machine , d'un compilateur a un autre. Au niveau Java, il y a des problemes de compatibilite et support entre les versions. La version 2.0 de Java n'est pas supportee partout et par tous.
__________________
Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre. -- Isaac Asimov |
|
|
40
|
|
|
#6 | |
|
Membre régulier
![]() Inscription : mai 2002 Messages : 84 ![]() |
Citation:
En Java tu es beaucoup plus paterné, tu ne sais pas faire grand chose par toi-même, tu appelles des fonctions qui se débrouillent. Pour moi, je me suis directement tourné vers le C et n'ai appris le Java que plus tard, par curiosité. Parce qu'avec le C je me sentais plus libre.
__________________
Errare humanum est ... sed humanus naturae erratum est. |
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 150 ![]() |
à tous pour vos réponses !Je crois que c'est la rapidité d'exécution et la liberté du fait de pouvoir accéder à tout qui m'attirent le plus et c'est pour cela que je vais me mettre sérieusement au C++ (m'en tape d'la difficulté Encore une chose : N'existe-t'il pas différents compilateurs pour permettre de porter un code sous différentes platformes ? Du style j'écris un prog, je crée un executable pour Windows avec un compilateur puis je crée un deuxième executable (du même code) pour Unix avec un compilateur pour Unix ? Ou bien c'est plus compliqué du fait que vous vous servez vraiment de l'architecture de la machine en question ? Merci !
__________________
</aliasjcdenton> "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves" |
|
|
00
|
|
|
#8 | |
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 219 ![]() |
Citation:
Cependant contrairement à Java, il manque plein de chose à C++ ce qui fait que pour faire certaines choses (exemple interfaces utilisateurs : swing en java, en C++ rien) , ou accès sgbd (jdbc en Java, en C++ rien), etc, tu doit soit utiliser une lib pour l'OS, donc non portable, soit trouver une lib portable. Mais c'est une LIB en plus, c'est pas inclus dans le standard C++. Dans Java c'est inclus, donc toujours standard et toujours portable. Le vrai choix entre C++ ou Java se situe au niveau du besoin. Exemples de besoins : - Faire un jeux 3D compilé en natif pour windows : C/C++/Delphi - Faire une application web : Java, ASP, ASPX, PHP, Delphi, etc... - Faire une application distribuée d'entreprise : Java, .NET...
__________________
-> Consultez les cours et tutoriels -> Consultez la F.A.Q du forum que vous utilisez -> Lisez les règles du forum |
|
|
|
10
|
|
|
#9 | |
![]() ![]() Inscription : juin 2002 Messages : 2 034 ![]() |
Citation:
|
|
|
|
10
|
|
|
#10 |
|
Membre chevronné
![]() Inscription : juillet 2002 Messages : 842 ![]() |
Pour quoi Java ou .net pour une application distribuée en entreprise ???
Quoiqu'il en soit, une autre particularité du C++ est de n'etre pas restreint a la programmation sur PC. En C++ tu peux très bien programmer pour des machines des automates des plateformes ou je ne sait quoi. Pour quasiment tout ce qui est programmable on pourra creer un compilateur C++ Quoiqu'il en soit, si tu apprends le C++, il n'y aura pas grand chose de plus a apprendre pour le Java. (En fait il y aura surtout a oublier) Et quoiqu'on en dise, même si il y a des noms de fonctions a rééaprendre pour le Java, ce n'est qu'un moindre mal, sachant qu'en C++ tu as enormement de fonctions qui font plus ou moins la même chose, suivant les librairies que l'on choisit d'utiliser. Les noms fonctions ca s'apprends pas par coeur, ca s'utilise a l'arrache. |
|
|
00
|
|
|
#11 | ||
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 219 ![]() |
Citation:
Citation:
![]() -> énormément d'applications embarquées pour Java...
__________________
-> Consultez les cours et tutoriels -> Consultez la F.A.Q du forum que vous utilisez -> Lisez les règles du forum |
||
|
|
01
|
|
|
#12 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 5 ![]() |
je suis tout à fait d'accord avec epictète. Java était avant tout destiné à être embarqué, mais a d'abord percé là où on ne l'attendait pas.
Aujourd'hui certaines machines virtuelles ont été porté vers de architectures autres que x86 (strongarm, powerpc ...). Pourquoi java est il devenu le numéro 1: tout simplement parce qu'il permet au développeur de s'affranchir d'un grand nombre de difficultés (notamment au niveau gestion de la mémoire). On peut donc développer plus vite des applis souvent moins buggées. Le C++ n'est cependant pas mort pour autant, et est encore largement utilisé en entreprise, notamment grâce à ces performances par rapport à java (langage compilé). Mais en ce qui concerne la portabilité, il vaut mieux ne pas trop y penser |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 150 ![]() |
Mais y-a-t'il une chance pour que C++ soit abandonné un jour ou cela semble-t'il impossible du fait de sa grande popularité mais surtout du fait qu'il n'y a pas (ou peu) d'autres langages natifs aussi puissants ?
Même question pour Java : quelles sont ses chances d'être remplacé un jour, par quoi, etc. ?
__________________
</aliasjcdenton> "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves" |
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 150 ![]() |
Ok, alors au boulot !
En tout cas merci à tous pour toutes ces explications très enrichissantes, qui, même si elles ne me font pas choisir un des deux languages me donnent juste envie de toucher aux deux Peut-être que c'est en pratiquant que j'en viendrai à donner ma préférence à l'un ou à l'autre. Mais c'est vrai que pratiquant le Java depuis 2 mois maintenant, je reste tout de même séduit et attiré par le côté vitesse de C++ mais surtout par le fait qu'on reste de libre de "toucher à tout" et de "jouer avec la machine". Quant au principe de la programmation orientée objet, je crois qu'il ne doit pas être trop difficile de passer de l'un à l'autre, les structures de programmation restant identiques (ou très similaires) pour les deux languages, à ce que j'ai compris... Voilà, voilà... A+
__________________
</aliasjcdenton> "Un Homme devient vieux lorsque ses regrets prennent la place de ses rêves" |
|
|
00
|
|
|
#15 |
|
Membre habitué
![]() Inscription : mars 2002 Messages : 102 ![]() |
Je pense aussi qu'il faut apprendre les deux, mais dans un certain ordre:
Java en premier puis C++ Tu apprendras ainsi à 'concevoir' des applications en objet (avec Java). Tu penseras plus en objet quand tu feras du C++. En effet, on peut faire des choses abominables en C++ (mix entre C et objet), alors que si tu prends l'habitude de voir bien les divers objets et leurs interactions, tu appliqueras naturellement ces méthodes au C++ et tu auras des applis plus propres et moins buggées. |
|
|
01
|
|
|
#16 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2002 Messages : 13 ![]() |
Ce que tu dis n'est pas faux Tifauv en C++ on peut prendre de mauvaises habitudes !
Mais je pense que le C++, en ayant fait du C avant, est beaucoup plus rapide à mettre en oeuvre que le Java. |
|
|
00
|
|
|
#17 | |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
J'y vais ausi de mon grain de sel :
Citation:
Sinon je pense que C++ est sur la pente descendante pour l'informatique de gestion. Reste l'info industrielle. Enfin, l'avenir (et le présent !) des applications distribuées est dans les nouvelles techno - parcequ'elles permettent de s'affranchir des détails techniques de communication -> on se concentre sur la prog métier. - parceque la démarche des éditeurs est d'en faire des standards Et voilà pour info un post qui traite déjà du sujet : http://www.developpez.net/forums/viewtopic.php?t=16969 Thomas
__________________
Creapage.net/blog |
|
|
|
00
|
|
|
#18 | |
![]() ![]() Inscription : juin 2002 Messages : 2 034 ![]() |
Citation:
Pour resumer, il faut se mefier des technos sur la pente descendante, certaines mettent quelques dizaines d'annees avant d'etre relegue au rang de simple curiosite. |
|
|
|
10
|
|
|
#19 |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
oui en fait c'est tout à fait ce que je veux dire : C++ va vivre le même sort que Cobol. On a le temps de voir venir mais plus le temps passera et moins ça sera intéressant.
__________________
Creapage.net/blog |
|
|
01
|
|
|
#20 |
|
Membre habitué
![]() Inscription : mars 2002 Messages : 102 ![]() |
Je ne suis pas tout à fait d'accord. Je pense que Java devrait se développer pour les applications non-OS et être utilisé quand on n'a pas besoin de vitesse pure.
Mais pour tout ce qui est développement système, le C/C++ est le seul langage utilisable (avec un peu d'assembleur éventuellement). Et pour le moment, aucun langage n'est capable de le remplacer. Donc, le C/C++ devrait durer encore un bon bout de temps. Par contre, c'est une hérésie que Cobol soit encore utilisé. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com