IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

[Débat] C++ vs Java


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Désolé mais j'ai pas mal programmé en C++, même si j'ai complètement laissé tomber depuis que je connais Java. En tout cas je connais les 2 langages et je peux t'assurer qu'ils sont en concurrence.
    Certes, tout comme on peut faire tout dans n'importe quel langage. Mais certains domaines se prete plus a tel ou tel application. Pour l'instant il y a des domaines pour lesquels Java n'est tres peu adapte (bas niveau, besoin de perf) meme si c'est techniquement possible d'utiliser Java.

    Concernant C# et .NET, ils ont un gros desanvatage, ils sont mono plateforme alors qu'actuellement la tendance est plutot aux langages portables au possible. Outre ce probleme il me semble que peu de gens sont partant pour migrer les applications existantes sous .NET (quitte a utiliser des technos plus soutenus comme VB6) et guere plus pour commencer de nouveaux projets sous .NET (pas de competences disponibles, cout de formation et peu d'interet technique de laisser le C/C++ au profit de C#).

    En ce qui concerne le probleme de gestion memoire non securise en C++ ce n'est pas un probleme de langage mais de compilateur et/ou OS.

  2. #2
    Membre chevronné

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Par défaut
    les développeurs C++ open source qui se foutent royalement de .NET
    Un peu agaçant.

    Je suis un développeur Open-Source et j'ai choisi Java et non C++ pour créer une plate-forme de développement, un exemple de cas où C++ et Java sont en concurrence.

    Je ne vois pas en quoi un développeur C++ se ficherait de .Net, qu'il soit du monde libre ou non.

    J'ai pratiqué .Net (5 mois) et je commence une nouvelle mission .Net de 6 mois lundi prochain. Ca fait 3 ans que je programme en Java sur un logiciel libre. Auparavant, j'ai fait du C++ / assembleur sous DOS durant 3 ans, c'était mes début en programmation.

    Donc j'estime pouvoir m'exprimer sur ce sujet.

    Outre ce probleme il me semble que peu de gens sont partant pour migrer les applications existantes sous .NET (quitte a utiliser des technos plus soutenus comme VB6) et guere plus pour commencer de nouveaux projets sous .NET
    C'est pas ce que je vois... je viens de chercher du boulot pendant 2 mois, avec un CV orienté autant Java que .Net et j'ai eu autant d'entretiens pour des missions en .Net que pour des missions Java. Il y a donc de la demande. Tu me diras, c'est juste mon expérience.

    En ce qui concerne le probleme de gestion memoire non securise en C++ ce n'est pas un probleme de langage mais de compilateur et/ou OS
    En fait les problèmes de gestion mémoire non sécurisée en C++ ne sont valables que dans la plate-forme .Net : .Net s'occupe en temps normal de la gestion de la mémoire. Alors que en C++ la gestion est manuelle.

    Thomas

  3. #3
    Membre chevronné

    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    412
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2002
    Messages : 412
    Par défaut
    Je conviens que madame soleil a toujours plus de graphes que moi ;o)

    allez je rigole ! Bon, on arrête de se disputer, je donnais juste mon avis, ya pas de quoi se taper dessus !

    a++

    Thomas

  4. #4
    Membre expérimenté Avatar de Epictète
    Inscrit en
    Mars 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 219
    Par défaut
    Quand tu prévoi le succès de Java et de .NET je ne dis pas la contraire, d'autant plus que java c'est déjà un énorme succès, mais quand tu prédit la disparition de C++ à mon avis c'est beaucoup trop extrémiste.

    Je ne te donnerais encore qu'un seul exemple, les nombreux développeurs qui font des applications pour les serveur linux (les 2 / 3 du marché je rappelle) utilisent majoritairement C ou C++, (ou PHP, PERL, Python, ou Java... pour les développements web). C'est donc par forcément du java, et c'est pas du tout du .NET.

    Hors les serveurs linux cela représente les deux tiers du marché ce qui n'es pas rien.

    Donc ton jugement simpliste est beaucoup trop extrémiste.



  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 2
    Par défaut Proportion des projets C/C++ Java sur SourceForge
    Citation Envoyé par Epictète

    Tes prévisions sont aussi fiable que celle d'une madame soleil, et en contradiction avec ce graphe :
    http://www.usethesource.com/cgi-bin/index.pl?section=Software
    Je voudrais juste avant tout préciser que les projets sur Sourceforge ne sont peut être pas représentatifs des projets que l'on peut voir en Entreprise et pour lesquels la plupart d'entre vous travaille, et qu'il ne faut peut être pas accorder tant de crédit à ce graphique.

    Il y a probablement plus de projets C/C++ dans ce graphique, car les développeurs Open Source développent en général davantage d'outils pour Linux ou Unix en général, lui même écrit en C (il est alors plus simple d'appeler les librairies dans le même langage). Ils sont en général puristes, et ont en général pas mal d'expérience, ce qui explique pourquoi ils ont certainement davantage pratiqué le C et le C++ dans leur vie.

    De même, des outils tels que Delphi, ou Visual Basic sont bien moins utilisés sur Sourceforge, car ils sont propriétaires, alors qu'ils sont très largement utilisés en Entreprise.

  6. #6
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Outre ce probleme il me semble que peu de gens sont partant pour migrer les applications existantes sous .NET (quitte a utiliser des technos plus soutenus comme VB6) et guere plus pour commencer de nouveaux projets sous .NET
    C'est pas ce que je vois... je viens de chercher du boulot pendant 2 mois, avec un CV orienté autant Java que .Net et j'ai eu autant d'entretiens pour des missions en .Net que pour des missions Java. Il y a donc de la demande. Tu me diras, c'est juste mon expérience.
    Ca vient peut etre des domaines ou je travaille mais je ne connais pas grand monde qui s'y interesse.

    Hors les serveurs linux cela représente les deux tiers du marché ce qui n'es pas rien.
    Je pense plutot que tu parle de serveur Unix/Linux en general et non Linux, mais la conclusion reste la meme.

  7. #7
    Membre averti
    Inscrit en
    Décembre 2002
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 55
    Par défaut
    Bonjour...

    Je voudrais vous faire part de mes idées concernant Java et C++.

    Je vais essayer d'etre le plus objectif possible... Je crois sincerement que C++ surclasse Java en ce qui concerne le developpement logiciel professionnel ( Point de vue de la vitesse (language compilé, pas de Virtual Machine ( moins de resources utilisées), gestion de la mémoire (et oui, c'est TRES souvent tres important) pas de GarbageCollector (Qui sait quand/comment la mémoire est libérée), nombre de fonctions...)

    Par contre (toujours selon mon avis), Java est TRES utile, tres fonctionnel pour des applis non sensibles, sur des plateformes ADAPTEES, avec des VM ADAPTEES... (est ce 100% le cas???? je n'en suis pas si sur)

    Je ne comprends pas pourquoi on s'acharne à dire que C++ n'est pas portable à cause de ses librairies... Selon ma propre expérience (meme au niveau micorcontrolleur) beaucoup de librairies sont portées sur differentes plateformes (toujours en fonction de leurs utilisations, performances, capacités etc... Toutes n'existent pas, j'en conviens mais il y a souvent moyen de s'en tirer... C'est le revers de la médaille d'un language "Do it yourself" et non "Request to add predifined bricks to build a wall" (comparaison légère entre C++ et Java ))

    Une derniere chose, pour un developpement professionnel sur et performant, je recommande Ada (la POO en Ada95 est à mon gout "eblouissante" "merveilleuse" ) mais le revert de la médaille: Language dur à maitriser, on ne sait plus "tricher" aussi facilement qu'en C, C++ et il demande plus de preparation d'architecture logicielle avant de coder.

    A+

    PS: Je pense egalement que mélanger du procédural avec de l'objet n'est pas TOUJOURS un mal, mais bien une possibilité offerte qu'il faut (faudrait) sagement utiliser...

  8. #8
    Membre expérimenté Avatar de Epictète
    Inscrit en
    Mars 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 219
    Par défaut
    Ca rejoint mon point de vue, qui est que c'est bien de pouvoir choisir entre ces 2 langages en fonction des besoins.

    C'est pour cette raison que Java ne va pas remplacer C++, meme si c'est vrai que beaucoup de développeurs C++ sont passés à Java.

  9. #9
    mat.M
    Invité(e)
    Par défaut
    Epictéte merci bcp pour les graphiques , cela je vais les conserver bien précieusement.

    Pour tenter de revenir à la question initiale , je pense pour un débutant qu'il vaut mieux apprendre d'abord Java que C++ , tout le monde l'a dit et c'est plus facile BIEN que des outils performants comme C++ Builder soient d'une prise en main aisée.
    De plus le SDK de Java est gratuit.

    Pour ce qui est des performances si Java et .NET seraient similaires en philosophie et architecture , là où je me pose des questions , c'est lorsque des membres de ce forum sont désepérées d'avoir recours à Direct X pour afficher 3 malheureux graphiques avec VB.NET/C#/dot NET.
    Et que ces deux environnements nécessitent des ressources matérielles conséquentes.

  10. #10
    Invité de passage
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1
    Par défaut Dis donc...
    Il faudrait penser à recouper tes sources. Un graphe unique ne fait pas la loi, d'autant plus qu'il s'agit ici des utilisations au sein d'une communauté de programmeur qui publient en opn source, question de mentalité -> choix du langage influencé. (Linux et PHP, c'est développé en quel langage?? )

    Même s'i lest intéressant à prendre en comtpe, il faudrait l'accompagner à d'autres...

    Personnelement, je fais du C++, sous Builder. Je confirme que n'importe qui peut en tirer quelque chose de sympathique. Vraiment bien fait cet EDI.

  11. #11
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Juste pour info :

    Dans une trés grande majorité des Universités Informatiques (nationales et internationales) c'est JAVA qui a remplacé le C++ et est enseigné depuis maintenant plusieurs années.

    A+

  12. #12
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par Mister Nono
    Juste pour info :

    Dans une trés grande majorité des Universités Informatiques (nationales et internationales) c'est JAVA qui a remplacé le C++ et est enseigné depuis maintenant plusieurs années.

    très intéressant, mais juste pour infos, ce n'est pas la performance, l'utilisabilité, etc qui motivent le choix d'un langage dans une école... mais plutôt la disponibilité des compétences, les goûts personnels, les partenariats industriels, et parfois même la minimisation des efforts à faire pour écrire et corriger les sujets

    donc sans vouloir casser ta profonde joie, cet argument est l'un des pires arguments "sérieux" (dès qu'on sort du troll, ou de la reflexion "j'utilise ça, parce que c'est mieux" ) que l'on puisse sortir dans ce type de débat.

    si tu pouvais détailler un tant soit peu ta reflexion, je pense que cela serait profitable à la majorité des lecteurs
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  13. #13
    Membre éclairé Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Par défaut
    Citation Envoyé par gorgonite
    très intéressant, mais juste pour infos, ce n'est pas la performance, l'utilisabilité, etc qui motivent le choix d'un langage dans une école... mais plutôt la disponibilité des compétences, les goûts personnels, les partenariats industriels, et parfois même la minimisation des efforts à faire pour écrire et corriger les sujets

    donc sans vouloir casser ta profonde joie, cet argument est l'un des pires arguments "sérieux"
    Vu que Java semble unanimement adopté dans la plupart des université (d'ailleurs j'ai appris les bases du java en deug à Rennes ), ça montre plutôt qu'il a été rapidement un choix au niveau formation et que tous les profs sont aptes à l'enseigner.
    Je trouve que les arguments que tu donnes vont dans le sens de Mister Nono

  14. #14
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    personnellement, la majorité des enseignants utilisant le Java, que j'ai connus, étaient complètement "pipo", et utilisaient pas mal de choses faite par leurs collègues sans toujours les comprendre... ce qui n'était pas le cas des enseignants utilisant d'autres langages

    mais j'ai peut-être eu de mauvais exemples
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  15. #15
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    Citation Envoyé par orelero
    Vu que Java semble unanimement adopté dans la plupart des université (d'ailleurs j'ai appris les bases du java en deug à Rennes ), ça montre plutôt qu'il a été rapidement un choix au niveau formation et que tous les profs sont aptes à l'enseigner.
    de la bouche même d'un prof de Rennes: ils ont adopté le Java car ca leur permettait de ne pas avoir à expliquer la gestion memoire au etudiants
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  16. #16
    Membre actif

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Par défaut C++ versus JAVA
    Moi j'ai une nette préférence piour le langage JAVA, d'une part parce qu'il a été entière pensé objet (alors que le C++ est une incrémentation du langage C destiné à l'adapter à la pOO), et d'autre part parce que JAVA offre des possibilités de portabilités appréciables sazns avoir à toucher le code source ni à recompiler.

    Il faut tout de même évaluier les critères suivants :
    - JAVA est moins appropriés pour des applications critiques en termes de ressources système, le garbage collector et (surtout) la machine virtuelle ralentissant notablement l'éxécution d'applications JAVA.
    - JAva ne permet pas l'héritage multiple, en revanche son système d'interfaces est très souple.
    - JAVA ne permet pas le gestion de la mémoire à bas un niveau .
    - Hélas pas de compilation en code machine possible en JAVA.

  17. #17
    Inactif  
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Décembre 2017
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Décembre 2017
    Messages : 155
    Par défaut
    Citation Envoyé par iolco51 Voir le message
    - JAva ne permet pas l'héritage multiple, en revanche son système d'interfaces est très souple.
    Les "interfaces" de Java sont des classes abstraites arbitrairement limitées.

    C'est un système qui est tout sauf souple.

  18. #18
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2019
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2019
    Messages : 91
    Par défaut
    C++ vs java ? j'aurais plutot mis

    pointeur vs référence et heritage multiple vs composition. même si le résumé ne s'arrete pas là il s'agit des 2 principaux totems des 2 langages.

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 14
    Par défaut
    Citation Envoyé par gl
    Si je puis me permettre raisonner de la sorte laisse de cote une bonne partie de l'informatique. Si il est vrai que les PC qui sorte sont tres puissant il ne faut pas oublie le materiel embarque et tout les PCs anciens encore utilise dansl'industrie.
    Pour info, il existe une plateforme java pour tout ce qui est informatique embarquée...

    Et pour ce qui est des anciens pc ... ben on peut critiquer toutes les applications actuelles ecrites dans n'importe quel langage. Tu fais pas tourner un OS actuel (qui souvent sont écrits en C/C++ avec de l'asm) sour un ordi d'il y 10-15 ans ... Tout ca pour te dire que tout évolue .. sinon faudrait peut-être penser à tout écrire en asm.

    Citation Envoyé par iolco51
    Hélas pas de compilation en code machine possible en JAVA.
    Il existe des compilateurs pour java... On va me dire c'est pas le but, certes, mais ca existe, sous win et si je m'abuse sous linux egalement (ou en tt cas c'est en projet).

  20. #20
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par gregy
    Citation Envoyé par gl
    Si je puis me permettre raisonner de la sorte laisse de cote une bonne partie de l'informatique. Si il est vrai que les PC qui sorte sont tres puissant il ne faut pas oublie le materiel embarque et tout les PCs anciens encore utilise dansl'industrie.
    Pour info, il existe une plateforme java pour tout ce qui est informatique embarquée...
    Desole, mais je ne suis pas certains de trouver des VM pour toute l'info embarque. Deja contrairement a ce que ta phrase laisse penser, il ne peut pas y avoir une plateforme Java pour l'embarque pour la bonne et simple raison qu'il existe une multitude de systeme embarques differents. Maintenant si c'est vrai et que tu connais une VM qui tourne sur des systemes a base de µc Epson (ca doit etre du 8 bit a 4MHz je crois) avec en tout et pour tout 64 kO de memoire (code et donnee) et sans OS alors je suis preneur mais a ma connaissance ca n'existe pas.

    Citation Envoyé par gregy
    Et pour ce qui est des anciens pc ... ben on peut critiquer toutes les applications actuelles ecrites dans n'importe quel langage. Tu fais pas tourner un OS actuel (qui souvent sont écrits en C/C++ avec de l'asm) sour un ordi d'il y 10-15 ans ... Tout ca pour te dire que tout évolue .. sinon faudrait peut-être penser à tout écrire en asm.
    Tu ne fais pas tourner des OS actuels (windows XP par exemple) mais rien n'empeche d'utiliser des OS plus leger comme DOS, des Linux en install min ou des OS maisons sur lesquels tu peux faire tourner des applications en C, C++ ou pas mal d'autre langage (c'est clair que tu ne vas pas faire tourner les applicatins actuelles ecrites pour des PCs puissant mais ce n'est pas le but, de toute facon de telles applications qui font ce que tu souhaite n'existe certainement pas dans le commerce)

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. [Débat] .NET vs JAVA/J2EE
    Par tssi555 dans le forum VB.NET
    Réponses: 5
    Dernier message: 10/12/2008, 07h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo