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

  1. #481
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Je ne parlais pas de Java en tant que langage serveur mais en tant que langage pour applications locales.

  2. #482
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Je ne parlais pas de Java en tant que langage serveur mais en tant que langage pour applications locales.
    c'est un argument contre java qui remonte a plusieurs années maintenant.
    Il faudrait un vrai comparatif digne de ce nom.

    quand a dire que java est plus lent que le c++, java ne pourra que tendre vers la vitesse du c++.

    mais choisir le c++ juste parce qu'il va plus vite c'est une erreur. les pcs de nos jours ne sont plus a ca pres pour les applications "locales".

    j'irais jusqu'a dire que les logiciels java plantent moins que ceux en C++ grace justement au gc de la jvm et la gestion des erreurs. certes un exellent developpeur c++ peut faire de même (c'est tout a son honneur), mais en combien de fois plus de temps?

    la nécessité d'une machine virtuelle.
    je ne sais pas si tu as remarqué, mais quand on installe un logiciel (jeu ou autre) il y a souvent un autre qui s'installe avec, qu'il s'agit de python, directx ou autre. la jvm c'est pas cher payer, compte tenu qu'elle peut etre intégré avec l'application (comme pour eclipse par exemple).
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #483
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par eclesia
    a- mais choisir le c++ juste parce qu'il va plus vite c'est une erreur. les pcs de nos jours ne sont plus a ca pres pour les applications "locales".

    b- j'irais jusqu'a dire que les logiciels java plantent moins que ceux en C++ grace justement au gc de la jvm et la gestion des erreurs. certes un exellent developpeur c++ peut faire de même (c'est tout a son honneur), mais en combien de fois plus de temps?
    a- Mouais. Quand j'ai firefox et une autre appli à VM qui me bouffent 200Mo chacun, cela a tendance à me gonfler. J'avoue, je ne ferme jamais mes fenêtres de navigation, de mails et de développement.

    b- Hum ... pour la gestion des ressources ? Avec le RAII et autres semantiques de déplacement, autant qu'un bon developpeur Java qui pense à remettre ses pointeurs à 0 ..? Voire moins. On est obligés de repartir pour un tour ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #484
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 259
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par Luc Hermitte
    a- Mouais. Quand j'ai firefox et une autre appli à VM qui me bouffent 200Mo chacun, cela a tendance à me gonfler. J'avoue, je ne ferme jamais mes fenêtres de navigation, de mails et de développement.
    Euh quelle VM dans Firefox ? Tu veux dire l'interpréteur XUL ?

  5. #485
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par kpouer
    Euh quelle VM dans Firefox ? Tu veux dire l'interpréteur XUL ?

    Citation Envoyé par Luc Hermitte
    Quand j'ai firefox et une autre appli à VM
    Je ne répondrai à aucune question technique en privé

  6. #486
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 259
    Points : 607
    Points
    607
    Par défaut
    Je comprend pas trop le sens de ton post millie, car soit Luc considère que Firefox est une appli a VM, et dans ce cas là ma question reste pertinente, soit c'est que l'autre appli qui est a VM et on montre donc qu'une appli en c++ comme Firefox peut bouffer de la ram de manière éhontée

  7. #487
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    b- j'irais jusqu'a dire que les logiciels java plantent moins que ceux en C++ grace justement au gc de la jvm et la gestion des erreurs. certes un exellent developpeur c++ peut faire de même (c'est tout a son honneur), mais en combien de fois plus de temps?
    Même si ca plante pas pareil, les invocationTargetException dans les applis swing c'est pas bcp plus agréable en tant qu'utilisateur ^^
    ok ca crashe pas (enfin ca m'est déjà arrivé plusieurs fois de faire crasher une jvm) mais de la a dire que n'importe quel développeur peut faire un truc clean, non ^^
    Et si tu veux des exemples (et qu'en plus tu recherches un taf en ce moment), j'ai plein d'exemples concrets a te faire étudier en ce moment

    ps : je précise que je fais du java et que je ne reviendrais pour rien au monde au C++ même si j'en ai fait 4 ans. Mais c'est pas pour autant que tout est magique et que tout marche tout seul. Perso, chacun ses gouts, tout est adapté en fonction des gens ou des besoins.

  8. #488
    Membre habitué Avatar de baroudi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 117
    Points : 139
    Points
    139
    Par défaut
    Bah Lotus notes c'est java non, en tant qu'application client il tourne bien :p
    ___________________________________________
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait

  9. #489
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par kpouer
    on montre donc qu'une appli en c++ comme Firefox peut bouffer de la ram de manière éhontée

    faut quand même pas abuser là... ce serait pas mal de savoir ce qui bouffe de la ram, parce que Firefox n'est pas une appli C++ comme les autres... il embarque un interpréteur XUL, un interpréteur javascript, et pas mal d'autres trucs du style

    parce qu'à ce rythme openjdk est une appli c++ qui bouffe pas mal de Ram aussi...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  10. #490
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 259
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par gorgonite
    faut quand même pas abuser là... ce serait pas mal de savoir ce qui bouffe de la ram, parce que Firefox n'est pas une appli C++ comme les autres... il embarque un interpréteur XUL, un interpréteur javascript, et pas mal d'autres trucs du style

    parce qu'à ce rythme openjdk est une appli c++ qui bouffe pas mal de Ram aussi...
    Oui enfin si tu vas dans ce sens là tu peux aussi dire que Microsoft Word il prend de la ram mais que c'est a cause de l'éditeur de texte, si tu le retire, il fait plus rien mais il prend plus de ram. Je vais pas chercher les exemples de softs écrit en c++ qui prennent de la ram ca aurait pas de sens, mais par exemple StarUML est pas vraiment léger non plus

  11. #491
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par kpouer
    Oui enfin si tu vas dans ce sens là tu peux aussi dire que Microsoft Word il prend de la ram mais que c'est a cause de l'éditeur de texte, si tu le retire, il fait plus rien mais il prend plus de ram.

    je parlais du fait d'embarqué un interpréteur (ou une vm), ça peut changer radicalement les perfs de l'appli en fonction du jeu de données que tu lui passes... dans le genre une jolie boucle infinie créant des objets en java, ça va finir par prendre de la place, idem pour js
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  12. #492
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Oups.
    Je n'ai pas été particulèrement clair. Je range Firefox dans la catégorie des applications qui bouffent de la mémoire pour la rendre quand cela leur fait plaisir (là, ma session courante peut osciller entre 50 et 200Mo). VM n'est pas vraiment le terme approprié, au temps pour moi.

    Quand il n'y a qu'une application de la sorte qui tourne, bon, on peut s'en sortir. Quand il commence à y en avoir plusieurs, je ne trouve pas l'argument "de toutes façons avec les machines d'aujourd'hui" hyper pertinent -- oups bis, à la relecture on parlait de perfs et pas de mémoire. Car tout le monde n'a pas les machines dernier cri, et un projet lancé depuis plusieurs années ne passe pas d'une génération de configuration (proc, OS, compilo, bibliothèques, ...) à la suivante de façon aussi douce et transparente qu'on le voudrait toujours.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  13. #493
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Points : 42
    Points
    42
    Par défaut pour finir
    aujourd,hui, le marché peut nous apporter quelques reponses concernant le debat C++/java.

    la plupart des grands comptes se munissent d'application java, le marché de l'informatique en france est gravement porté sur le java et tous ses frameworks.
    aujourd'hui le marché pousse à l'innovation ce qui est une des caracteristiques du monde java , on ne peut recenser combien de produit opensource et de frameworks sorte chaque jour dans le monde java.mais quand est il du C++, à part dans la recherche je ne vois plus l'interet de coder en C++, car aujourdhui dans un monde regi par le profit, la rapidité n'est plus la priorité(surtout que java tend a rattraper le C++ a ce niveau la) mais à la maintenabilité et la portabilité, les grands comptes cherchent surtt le gain d'argent dans leur developpement d'application, et il est clair quand terme de maintenabilité et d'evolution, aujourdhui java regne en maitre. D'ailleurs meme les universités et les ecoles d'ingenieur n'enseigne plus vraiment le C++ ce qui est un signe non?

  14. #494
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par fbehnam
    D'ailleurs meme les universités et les ecoles d'ingenieur n'enseigne plus vraiment le C++ ce qui est un signe non?
    Ca dépend des écoles, mais je dirais : pas vraiment.

    En école d'ingénieur, ce qu'on apprend, ce ne sont pas des langages, ce sont des concepts. Le but étant de pouvoir s'adapter dans n'importe quel langage le plus rapidement possible.
    Il y a éventuellement 2 ou 3 langages qui sont vu très en détails, genre le C (car beaucoup de cours repose sur celui-ci) et un langage fonctionnel (style lisp ou camL).

    Dans beaucoup d'écoles, les étudiants étudient encore le C++ (voir java), même si ce n'est pas en profondeur

    Et puis, ce n'est pas parce que tu as appris vaguement Java à l'école que cela sera très utile par la suite (enfin, c'est toujours ça à mettre sur le cv). Tu risques de te retrouver en entreprise et tu devras de toute manière apprendre 5 frameworks supplémentaire pour développer ou pour reprendre une application. Ce qui au final sera plus long qu'apprendre le langage java (ce qui est rapide quand on connait les concepts de programmation et de conception orientée objet)
    Je ne répondrai à aucune question technique en privé

  15. #495
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par millie
    Ca dépend des écoles, mais je dirais : pas vraiment.

    En école d'ingénieur, ce qu'on apprend, ce ne sont pas des langages, ce sont des concepts. Le but étant de pouvoir s'adapter dans n'importe quel langage le plus rapidement possible.
    Il y a éventuellement 2 ou 3 langages qui sont vu très en détails, genre le C (car beaucoup de cours repose sur celui-ci) et un langage fonctionnel (style lisp ou camL).

    Dans beaucoup d'écoles, les étudiants étudient encore le C++ (voir java), même si ce n'est pas en profondeur

    Et puis, ce n'est pas parce que tu as appris vaguement Java à l'école que cela sera très utile par la suite (enfin, c'est toujours ça à mettre sur le cv). Tu risques de te retrouver en entreprise et tu devras de toute manière apprendre 5 frameworks supplémentaire pour développer ou pour reprendre une application. Ce qui au final sera plus long qu'apprendre le langage java (ce qui est rapide quand on connait les concepts de programmation et de conception orientée objet)
    Je suis d'accord, on étudie les concepts, mais il y a quand même un langage dominant (rien que le language dans lequel faire les projets). C'est toujours java (pour les projets "généraux"). Jamais C++ (enfin pour mes 2 ans de DUT et mes 2 premières année d'ENSEEIHT).

  16. #496
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par millie
    Ca dépend des écoles, mais je dirais : pas vraiment.

    je plussoie fortement millie

    dans les écoles, le but n'est pas de faire des élèves des experts dans un langage donné (parce que de toute façon, la plupart des élèves en voie info veulent faire le minimum de technique pour ensuite continuer sur management & consulting )

    le but est de donner suffisamment de notions de programmation pour qu'ils soient en mesure de s'adapter rapidement s'il intègre un jour une équipe de développement

    pour infos, cette année dans mon école, les 2A sont passés du Java au C++
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  17. #497
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Et puis, le C++ n'est pas beaucoup moins portable que Java (ce sont les bibliothèques de fonctions qui généralement ne sont pas portables et les différences de compilateurs compliquent souvent la chose), même si cette portabilité s'effectue au niveau de la compilation et non de l'exécution.

  18. #498
    Futur Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 8
    Points
    8
    Par défaut
    Pour essayer de réconcilier tout le monde... Il existe un langage qui combine le meilleur des 2 mondes c'est-à-dire les performances et le côté bas niveau du C++ à l'expressivité et la productivité de Java, et même un peu de PHP pour la simplicité de certains aspects de sa syntaxe.

    Il intègre également directement au compilateur quelques particularités absentes des 2 autres (sauf en passant par des bibliothèques spécialisées) : tableaux dynamiques et associatifs, programmation par contrat, tests unitaires, chaînes comme valeurs d'instruction switch...

    Petit plus : les binaires produits sont compatibles à 100% avec ceux du C, il est donc ainsi possible d'utiliser des bibliothèques de ce langage en C et vice-versa.

    Ce langage est le D, qui se présente tout simplement comme le successeur du C/C++.

    Pour plus d'infos, rendez-vous sur : http://www.digitalmars.com/d

  19. #499
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Citation Envoyé par OmbreHardcore
    Il intègre également directement au compilateur quelques particularités absentes des 2 autres (sauf en passant par des bibliothèques spécialisées) : tableaux dynamiques et associatifs, programmation par contrat, tests unitaires, chaînes comme valeurs d'instruction switch...
    En C++, les tableaux dynamiques et associatifs existent en standard (je pense aux std::map et std::vector).

  20. #500
    Membre averti
    Inscrit en
    Août 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    Citation Envoyé par OmbreHardcore
    Pour essayer de réconcilier tout le monde... Il existe un langage qui combine le meilleur des 2 mondes c'est-à-dire les performances et le côté bas niveau du C++ à l'expressivité et la productivité de Java, et même un peu de PHP pour la simplicité de certains aspects de sa syntaxe.

    Il intègre également directement au compilateur quelques particularités absentes des 2 autres (sauf en passant par des bibliothèques spécialisées) : tableaux dynamiques et associatifs, programmation par contrat, tests unitaires, chaînes comme valeurs d'instruction switch...

    Petit plus : les binaires produits sont compatibles à 100% avec ceux du C, il est donc ainsi possible d'utiliser des bibliothèques de ce langage en C et vice-versa.

    Ce langage est le D, qui se présente tout simplement comme le successeur du C/C++.

    Pour plus d'infos, rendez-vous sur : http://www.digitalmars.com/d
    Suis pas tout à fait d'acord car ce qui d'après moi fait la force de java: haut niveau de standardisation des bibliothèques, diversité et richesse des frameworks, IDE, et applications open sources en général..
    Tout cela est je crois pour le moment presque absent dans le D.

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, 17h15
  2. [Débat] .NET vs JAVA/J2EE
    Par tssi555 dans le forum VB.NET
    Réponses: 5
    Dernier message: 10/12/2008, 08h54

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