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. #701
    Membre averti Avatar de Kujara
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 262
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Personnelement, je trouve qu'il est plus dur de faire un "bon" programme C++, qu'un "bon" programme Java.
    Oui, c'est un fait connu. C++ est un langage difficile.

    Mais je l'ai déja dit et je le répete : en tant que professionel, seul le résultat final ( performances ) est important, auquel cas, la difficulté de programmer quelque chose est sans importance, tant que ça reste humainement faisable.
    Dans un moteur graphique par exemple, si tu peux gagner 50% de vitesse en plus, même si tu y passe 3 mois, tu le fais ....


    Bref, on a pas la même definition de "bon" programme

    Resumé :

    Si tu veux coder vite et sans trop de bugs une application où la vitesse n'est pas trop importante, prends Java.
    Dans les autres cas, prends c++.

  2. #702
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Oui dans l'industrie des jeux videos a pognons sans inovation avec de super graphisme , oui le C++ est primordial.

    Mais si on veut faire un jeux avec un nouveau concept avec des graphisme convenable on peut utiliser Java.

    Moi je pense qu'il faut commencer par java trouver les bons algorithmes.
    Et puis si il y a effectivement des problèmes de performance envisager d'utiliser le C++ via une JNI ou de piloter JAVA de puis le C++.

  3. #703
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 168
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par goethe Voir le message
    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 !
    +1

    dans le domaine de la médiation télécom, la plupart des systèmes sont basés sur le C/C++ (rapidité d'exécution).
    Demain n'est plus à attendre mais à inventer !!!

  4. #704
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    ce debat ne finira jamais,
    je fais de la 3D en java, base de donne,site web, essaie de faire ca en c++.
    il n y a pas une grande difference de rapidite en java et c++. et java est un langage qui est mis à jour, donc l ecart va se reduire

  5. #705
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Il faut regarder l'évolution des performences de java depuis les premières version .
    Je pense que le C++ n'a pas progressé autant.
    Cette évolution laisse à penser que les performences de java finiront par être sensiblement les mêmes que c++.
    C'est l'inteligence du compilateur qui pour l'instant ne permet d'optimiser assez le byte code java .
    Et le compilateur JIT n'optimise pas assez le code natif

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par super_navide Voir le message
    Oui dans l'industrie des jeux videos a pognons sans inovation avec de super graphisme , oui le C++ est primordial.
    merci, ca fait plaisir... perso, je bosse dans ce milieu de cretin incapable d'inover, et je peut te dire que TOUTES les dernières inovation en terme de gameplay demande TOUJOURS de la puissance de calculs en plus que ne fournis pas Java (les moteurs physique etant le cas le plus connu), et j'attend tes exemples de jeu Java au gameplay révolutionnaire
    Citation Envoyé par super_navide Voir le message
    Mais si on veut faire un jeux avec un nouveau concept avec des graphisme convenable on peut utiliser Java.
    oui, c'est vrai, il suffit de regarder Jake 2, le port de quake 2 en Java qui a mis 10 ans à atteindre le niveau de perf de l'original (et ceci uniquement sur des proceseurs récent, sur des proc de l'époque )
    Citation Envoyé par super_navide Voir le message
    Moi je pense qu'il faut commencer par java trouver les bons algorithmes.
    Et puis si il y a effectivement des problèmes de performance envisager d'utiliser le C++ via une JNI ou de piloter JAVA de puis le C++.
    c'est bien connu, l'algorithmie est telment plus simple en Java

    Citation Envoyé par leopard261 Voir le message
    ce debat ne finira jamais,
    je fais de la 3D en java, base de donne,site web, essaie de faire ca en c++.
    il n y a pas une grande difference de rapidite en java et c++. et java est un langage qui est mis à jour, donc l ecart va se reduire
    tant qu'on ne pourra pas descendre bas niveau en Java, il ne pourra pas atteindre les niveau de perf du C++...
    la compilation Just in time qui utilise les dernières instruction des processeurs est juste une vaste blague... aucun compilateur off-line à l'heure actuelle n'est capable de détecter ou utiliser les instruction de vectorisation de manière efficace, alors avec un compilateur à la volé, ca ne risque pas d'arriver...
    En plus, l'optimisation de l'occupation mémoire en Java est... comment dire... limité
    en 3D ou on utilise des vecteurs à tour de bras, savoir qu'on paye plusieurs octets de plus pour chaque vecteur (de 12 octets normalement), c'est difficilement supportable (surtout qu'on utilise déjà suffisament de mémoire dans les jeux video )

    sinon, pour info, les bench réalisé sur du calculs physique par l'auteur du moteur physique Bullet donne Java 50 fois plus lent que le C++, et ceci sans utiliser d'optimisation bas niveau en C++
    * 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

  7. #707
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bafman Voir le message
    merci, ca fait plaisir... perso, je bosse dans ce milieu de cretin incapable d'inover, et je peut te dire que TOUTES les dernières inovation en terme de gameplay demande TOUJOURS de la puissance de calculs en plus que ne fournis pas Java (les moteurs physique etant le cas le plus connu), et j'attend tes exemples de jeu Java au gameplay révolutionnaire
    En java sur un PC maintenant tu peut faire les même jeux que sur une DS ou une PSP.
    Je pense pas que tous les jeux sur DS et PSP soit de la merde (désolé pour le terme )
    Donc on peut faire de très bon jeux sans pour autant avoir besoin d'un puissance énorme.
    Exemple Zooma est un jeux que je trouve super marrant et fun pourtant il ne nécéssite pas une grande puissance de calcul .
    C'est comme les petits jeux de WII c'est inovant et marrant et il ne nécéssite pas de grande de puissance de calcul.

  8. #708
    Membre averti Avatar de Kujara
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 262
    Points : 358
    Points
    358
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C'est comme les petits jeux de WII c'est inovant et marrant et il ne nécéssite pas de grande de puissance de calcul.
    Tous les jeux sur Wii sont codés en C++, dommage .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    En java sur un PC maintenant tu peut faire les même jeux que sur une DS ou une PSP.
    C'est bien, malheureusement, en C++ on peut faire les meme jeux que sur une XBOX 360.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donc on peut faire de très bon jeux sans pour autant avoir besoin d'un puissance énorme.
    Et en quoi c++ t'empeche de faire des jeux qui n'ont pas besoin de puissance ?

    L'interet de c++ est justement que tu n'es pas limité aux jeux comme ça ....
    Tu peux faire les 2.

  9. #709
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 476
    Points
    11 476
    Billets dans le blog
    11
    Par défaut
    Connais-tu ce principe d'informatique "qui peut le plus, peut le moins"?
    Donc, le Java permettant de faire les jeux dont tu parles, le C++ le peut donc aussi.
    Le Java permet peut être de faire des jeux pour DS et PSP, le C++ quant à lui permet de faire des jeux pour XBox360 (excusez du peu).
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  10. #710
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Oui mais tu met moin de temps a les développer et en plus ils sont portable
    EN plus tu peut facilement les intégrer dans un page web pour qu'il soient accessible sur le WEB

  11. #711
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bafman Voir le message
    tant qu'on ne pourra pas descendre bas niveau en Java, il ne pourra pas atteindre les niveau de perf du C++...
    la compilation Just in time qui utilise les dernières instruction des processeurs est juste une vaste blague... aucun compilateur off-line à l'heure actuelle n'est capable de détecter ou utiliser les instruction de vectorisation de manière efficace, alors avec un compilateur à la volé, ca ne risque pas d'arriver...
    En plus, l'optimisation de l'occupation mémoire en Java est... comment dire... limité
    en 3D ou on utilise des vecteurs à tour de bras, savoir qu'on paye plusieurs octets de plus pour chaque vecteur (de 12 octets normalement), c'est difficilement supportable (surtout qu'on utilise déjà suffisament de mémoire dans les jeux video )
    C++ est une couche objet au dessus de C, que ce soit au niveau syntaxe, compilation et run-time.

    Les performances du C++ sont donc voisines de celles du C. Il y a un tres leger ralentissemnt dû a la run-time engine du C++ qui gere les objets (new/delete, appel de methode, overiding ).

    Coté Java ca n'a rien a voir. Java n'est pas une couche objet au dessus d'un langage imperatif. Le ByteCode, qui est le code "bas niveau" dans java est un code objet. Donc meme en optimisant "a mort" du java (en modifiant le bytecode), on sera toujours dans un monde objet avec des "new", "invoke", et toujours pas de "delete" ou "malloc".

    De plus, les fonctionalités telles que la GC, la Reflexion et le classloader necessitent d'avoir une run-time engine plus complexe, et donc plus lourde (lente), que celle du C++.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  12. #712
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 476
    Points
    11 476
    Billets dans le blog
    11
    Par défaut
    Connais-tu shockwave flash (2D/3D) ou virtools (3D)
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par super_navide Voir le message
    Oui mais tu met moin de temps a les développer
    ca reste à prouver... tu a developpé combien de jeux pour dire ça ?
    Citation Envoyé par super_navide Voir le message
    et en plus ils sont portable
    ha !! tu a déjà developpé des jeux en Java pour telephone portable ? non, ça se vois tout de suite, car la portabilité de Java sur ce genre de plateforme n'est qu'une légende urbaine...
    Citation Envoyé par super_navide Voir le message
    EN plus tu peut facilement les intégrer dans un page web pour qu'il soient accessible sur le WEB
    heu... certe, mais dans ce domaine la, autant utiliser du flash dans ce cas la, qui est bien plus adapté (mais ce n'est plus le débat de ce thread)
    * 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

  14. #714
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Connais-tu shockwave flash (2D/3D)
    tu programme en javascript avec non ???

  15. #715
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par leopard261 Voir le message
    je fais de la 3D en java, base de donne,site web, essaie de faire ca en c++.
    Hum... c'est vrai que l'on a attendu de voir java apparaitre il y a 10 ans a peine pour faire du site web, de la bdd, et de la 3D.... mais bon je dis ça moi, je dis rien, hein....

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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par super_navide Voir le message
    Connais-tu shockwave flash (2D/3D)
    tu programme en javascript avec non ???
    javascript != Java
    * 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

  17. #717
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Afghanistan

    Informations forums :
    Inscription : Juin 2003
    Messages : 452
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    c'était une question ....

    shockwave flash est payant non ?????

  18. #718
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 476
    Points
    11 476
    Billets dans le blog
    11
    Par défaut
    le langage de script utilisé par Shockwave Flash n'a jamais été le Javascript mais l'ActionScript (pour Flash tout du moins) et ils sont écrits en C++
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  19. #719
    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 381
    Points
    20 381
    Par défaut
    Citation Envoyé par super_navide Voir le message
    En java sur un PC maintenant tu peut faire les même jeux que sur une DS ou une PSP.
    Je pense pas que tous les jeux sur DS et PSP soit de la merde (désolé pour le terme )
    Donc on peut faire de très bon jeux sans pour autant avoir besoin d'un puissance énorme.
    Ecoute j'ai essaye de porter un petit jeu avec scrolling que j'avais initialement developpe sous Dos avec Dos-Extender et Watcom C++ puis passe sous Windows avec affichage GDI.
    J'ai tente d'en faire un applet Java au bout de quelques instants j'ai laisse tombe tellement ca ramait.
    Peut-etre que sous Java j'ai mal optimise le code c'est fort probable mais je demeure sceptique.
    Ceci dit bien qu'étant réfractaire à Java je salue les types qui font les jeux sur
    http://www.javaarcade.com/

  20. #720
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut De l'huile sur le feu
    Quelqu'un me fait l'equivalent en C++?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    class Surprise
    {
        public static void main(String[] args) throws Exception
        {
            System.out.println("Java est un langage sur!");
            doEvil();
            System.out.println("Java est un langage sur!");
        }
        
        static void doEvil() throws Exception
        {
            String dst = "Oui, tres sur.";
            String src = "Java est un langage sur!";
            setField(src, "value", dst.toCharArray());
            setField(src, "count", Integer.valueOf(dst.length()));
        }
        
        static void setField(Object object, String name, Object value)
            throws Exception
        {
            java.lang.reflect.Field
                field = object.getClass().getDeclaredField(name);
            field.setAccessible(true);
            field.set(object, value);
        }
    }
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

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