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. #1161
    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 ne connaissais pas l'expression "recursif terminal", si la définition que j'ai lu est bonne l'implémentation du test est récursive mais pas recursive terminal

  2. #1162
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par kpouer Voir le message
    Je ne connaissais pas l'expression "recursif terminal", si la définition que j'ai lu est bonne l'implémentation du test est récursive mais pas recursive terminal
    Oui effectivement et c'est pour ça que c'est un bon benchmark pour évaluer l'efficacité respective de la récursion dans divers langages... Parce que si on utilise un algorithme récursif terminal, on déterminera principalement quels langages(/implémentations) optimisent la récursivité terminale.

    Ma remarque venait en complément de ton "et une boucle serait infiniment plus rapide" : ce n'est pas la récursion qui est lente par rapport à l'itération, c'est l'algorithme utilisé qui est lent, à dessein. L'équivalent récursif terminal de ta boucle serait tout aussi rapide et serait récursif, pas itératif dans son expression.

    --
    Jedaï

  3. #1163
    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 Jedai Voir le message
    Ma remarque venait en complément de ton "et une boucle serait infiniment plus rapide" : ce n'est pas la récursion qui est lente par rapport à l'itération, c'est l'algorithme utilisé qui est lent, à dessein.
    Tout a fait c'est ce qu'on pourrait appeler une implémentation idiote utile juste pour faire des tests de langage

  4. #1164
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Citation Envoyé par kpouer Voir le message
    J'ai trouvé des articles suggérant d'utiliser ces paramètres de compilation
    g++ -O2 -fomit-frame-pointer -finline-functions -o fibo.x fibo.cpp

    ce que j'ai fait et dans ce cas j'obtiens sensiblement les mêmes temps en java qu'en c++.
    Mais pour la énième fois des tests de performances sur des suites de fibonacci par exemple et tout un projet informatique avec mise en charge c'est totalement différent..
    est-ce que Java est vraiment performant pour une application lourde avec multithreading , acquisition temps réel ?


    Dans un véritable projet, est ce que les développeurs vont changer les options de compilations de chacun de leurs .cpp en fonction des cas pour en obtenir le meilleur (car ils ne peuvent pas les mettre partout je pense), et quelle perte de temps non ?
    Non les options de compilations sont globales au projet à ma connaissance.
    Peut-être avec des macros de directives on peut peut-être optimiser un code source cpp particulier mais j'en doute..
    Un article qui date un peu parce que de 1999 et parce que maintenant il y a vs2008 et que quelqu'un a peut-être déjà donné en référence mais qui est susceptible d'être intéressant.
    http://msdn.microsoft.com/en-us/libr...69(VS.60).aspx

  5. #1165
    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 Mat.M Voir le message
    Mais pour la énième fois des tests de performances sur des suites de fibonacci par exemple et tout un projet informatique avec mise en charge c'est totalement différent..
    est-ce que Java est vraiment performant pour une application lourde avec multithreading , acquisition temps réel ?
    Evidemment que c'est différent un bench sur un algo et une appli complète, si tu as des applis complètes a proposer qui ont exactement la même implémentation dans les 2 langages oui on peut tester, mais ca m'étonnerai que tu ais ca sous la main.
    La question si java est vraiment performant pour une appli lourde et multithreadé, c'est sur que oui, est ce qu'elle est plus performante que la même en C++, aucune idée parce que je ne connais pas d'exemple de 2 applis identiques dans les 2 langages.
    Mais de toute facon ce n'était pas ma question, ma question portait sur cet algo uniquement, je n'ai en aucun cas cherché a en faire une généralité pour dire que java serait meilleur que c++

  6. #1166
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    histoire de montrer que java peut faire dans l'industriel
    Java Real-Time System Selected for Space Surveillance Radar

    j'imagine que les mecs ont testouillé un peu avant de se lancer
    enfin... j'espere

  7. #1167
    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
    Bah! Si tu es dans l'industrie, tu devrais savoir comment ça marche en général ce genre de décisions.
    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...

  8. #1168
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Citation Envoyé par lunatix Voir le message
    j'imagine que les mecs ont testouillé un peu avant de se lancer
    enfin... j'espere
    eh oui mais faut pas perdre de vue que Sun c'est 1-Unix 2-donc un compilo C/C++ qui aille avec...
    Donc comme ce projet de Sun autrement dit c'est peut-être une partie en Java et une autre en c++ pour mieux coller à l'OS
    En d'autres termes cela ne m'étonnerait pas que Java tourne mieux sous Sun parce les gens qui ont fait Java savent comment leur OS fonctionne tu me suis ?
    en d'autres termes il ya une meilleure intégration de Java sous Solaris par exemple que de Java sous Windows par exemple...
    Toute la tartufferie de cette histoire repose sur cette constatation : si tout le monde programme en Java , Java ça tourne mieux sous Solaris donc Solaris développé par Sun sera mieux vendu que Windows au grand dam de Microsoft
    Parce qu'un OS Solaris et un OS Windows c'est radicalement différent ;il y a un gouffre entre les 2.

  9. #1169
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    en d'autres termes il ya une meilleure intégration de Java sous Solaris par exemple que de Java sous Windows par exemple...
    moué, pas persuadé. enfin, bon, c'était pas un post pour épiloguer 10 ans hein ! c'était juste pour montrer qu'on peut trouver java a des endroits ou on est plus habitué a trouver du C/C++.

  10. #1170
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Citation Envoyé par lunatix Voir le message
    moué, pas persuadé. enfin, bon, c'était pas un post pour épiloguer 10 ans hein ! c'était juste pour montrer qu'on peut trouver java a des endroits ou on est plus habitué a trouver du C/C++.
    Non je crois que tu n'as pas compris ce que j'ai voulu dire ; primo faut pas perdre de vue q'un environnement de développement et un langage informatique c'est pas seulement pour faire plaisir à des programmeurs mais c'est aussi une politique et arrière pensée commerciale
    Et puis segundo ce projet de Sun que tu nous présente il va être performant pourquoi ? Eh bien parce que Sun aura sans doute fait ses propres packages Java qui collent vraiment aux fonctionnalités de Solaris

  11. #1171
    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 Mat.M Voir le message
    Non je crois que tu n'as pas compris ce que j'ai voulu dire ; primo faut pas perdre de vue q'un environnement de développement et un langage informatique c'est pas seulement pour faire plaisir à des programmeurs mais c'est aussi une politique et arrière pensée commerciale
    Et puis segundo ce projet de Sun que tu nous présente il va être performant pourquoi ? Eh bien parce que Sun aura sans doute fait ses propres packages Java qui collent vraiment aux fonctionnalités de Solaris
    Ca fait quand même beaucoup de suppositions tout ca pour essayer d'aller dans ton sens. Pourquoi ne pas prendre l'info pour ce qu'elle est et ne pas chercher par tous les moyens a décrédibiliser le projet ?

  12. #1172
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    j'ajouterais un grain de sel.. historique .. à ce que dit Mat.M :

    la naissance de Java fut parce que, sous l'ensemble des plateformes autres que Windows, tout le monde était parvenu à se mettre d'accord et implanter XWindow et Motif ou OpenGL, et que à chaque portage d'interface graphique entre Windows et les autres, il fallait tout ré-écrire ce qui était GUI au moins... (entre autres avec C++ pour Windows, puisque quasi-personne ne programmait avec C++ ailleurs : sous Unix/Linux en 1997 ?? quasi-personne).

    Vu que la plupart des grosses applis ont une part non négligeable de GUI, l'idée est venue chez Sun de faire Java.. Pour faciliter les pontages entre Windows et le reste...


    Je ne prend pas partie dans le débat, car je n'utilise ni l'un ni l'autre, mais je tenais quand même à remonter l'origine


    Juste un petit point dans ce débat :

    Cependant, on peut douter , pour de lourdes applis graphiques, de la capacité de réaction d'un langage objet non compilé...
    (exemple : les applis de maillage, avec tracé de 100 000 vecteurs à la vitesse de la souris...)

    Que pour des calculs, cela soit à peu près équivalent, sans doute, à cause des caches, des GCs, etc etc..

    Juste en rappelant l'origine, je rappelle que Java a été conçu a) pour les GUI, et b) pour la transparence intersystème.

    Les 10 dernières années ont amené d'autres langages, mais aussi bien entendu des changements de perfomances des 2 langages en cause au départ (et en particulier l'utilisation généralisée de C++ sur des plateformes qui lui étaient étrangères, comme Unix/Linux)..

    Voilà, c'était mes 2 grains de sel
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #1173
    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
    Le problème c'est que tu fais toute ton analyse sur de vagues suppositions datant d'il y a 10 ans et des idées suppositions non vérifiées comme il y en a tout au long de ces 79 pages

  14. #1174
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Cependant, on peut douter , pour de lourdes applis graphiques, de la capacité de réaction d'un langage objet non compilé...
    (exemple : les applis de maillage, avec tracé de 100 000 vecteurs à la vitesse de la souris...)
    Le compilé existe aussi en java...


    Juste en rappelant l'origine, je rappelle que Java a été conçu a) pour les GUI, et b) pour la transparence intersystème.
    Moi qui pensais qu'à l'origine c'était pour les aspirateurs..


    En fait il faudrait une synthèse de milliers de tests comparatifs vus sous pleins d'angles différents. On peut considérer que l'algo de fibonacci est tout à fait valable parce que le coup des options de compilation qui sont mal réglées par défaut en c++ ou que ce n'est pas celles qu'on utilise en industrie est un peu fort de café.


    Il faut je pense aussi exclure les tests de GUI car le langage c++ ne propose rien en standard auquel cas cela reviendrait à tester un framework graphique plus qu'autre chose. Après tout on ne pourrait pas utiliser Qt en Java ? Swing en c++ ?
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  15. #1175
    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 hegros Voir le message
    Il faut je pense aussi exclure les tests de GUI car le langage c++ ne propose rien en standard auquel cas cela reviendrait à tester un framework graphique plus qu'autre chose. Après tout on ne pourrait pas utiliser Qt en Java ? Swing en c++ ?
    Exact, et il semble qu'on puisse utiliser QT en Java avec QT Jambi pour ceux que ca intéressent, par contre je n'en dirais pas plus sur le sujet car je le connais très peu. Par contre Swing en C++ ca m'étonnerai beaucoup

  16. #1176
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Citation Envoyé par kpouer Voir le message
    Ca fait quand même beaucoup de suppositions tout ca pour essayer d'aller dans ton sens. Pourquoi ne pas prendre l'info pour ce qu'elle est et ne pas chercher par tous les moyens a décrédibiliser le projet ?
    je ne comprends pas du tout ce que tu veux me dire : tu parles de décrédibliser le projet ?
    Moi je te parle de l'aspect commercial des outils informatiques , des systèmes d'opérations.
    Si Sun ne vend pas d'Unix il met la clef sous la porte si Microsoft ne vend pas de Windows ou Ms Office il met la clef sous la porte c'est pas compliqué.
    Faut pas voir seulement que l'aspect technique ; je sais qu'ici il ya 99% de techs ( je te rassure je suis aussi un tech ) ; faut pas perdre de vue les logiques commerciales.
    Bon c'est vrai c'est pas trop le sujet dans ce fil de discussion quoique..

  17. #1177
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par kpouer Voir le message
    Par contre Swing en C++ ca m'étonnerai beaucoup
    Bah fondamentalement c'est jouable, y'a juste morceau de paquets de ligne de bindings JNI (ou Swig) à écrire. C'est tout. Conceptuellement je ne vois pas trop où se trouve le problème.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  18. #1178
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Le problème c'est que swing ayant été concu à l'origine pour JAVA et ces capacités comme par exemple le GC, je serais surpris que ce soit aussi simple que ça a réaliser. En plus du coté fastidieux de la chose.

  19. #1179
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 944
    Points
    1 944
    Par défaut
    dosole mais je peux pas m'empecher de toller:
    C/C++ pour programmer
    Java pour bouffer. oui il faut faire du code vite sans se prendre la tete a pointer dans tout les sens gerer des memoires et autre alors que le client lui s'en moque. donc pour moi java c'est je code vite et je vend plus. Vous me direz je suis totalement C et que je fais des efforts pour le C++. Et me trouvant dans un environnement de paresseux, je constate qu'ils detestent tous le C car selon eux c'est reinventer la roue et qu'aujourd'hui le mot roi est economie. ca Illustre selon moi ce que je pensais: "je programme en C/C++ et je me nourris grace a JAVA".
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  20. #1180
    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
    Citation Envoyé par lilington Voir le message
    dosole mais je peux pas m'empecher de toller:
    Effectivement c'était un beau troll ^^
    Mais ca a eu le mérite de me faire sourire. (Enfin, certaines remarques précédentes plus sérieuses m'ont aussi bien fait sourire )

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