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. #141
    mat.M
    Invité(e)
    Par défaut
    Dans un jeu 100% java, je pense que le système de scripting équilibre les performances générales par rapport à du c++ et un système de scripting standard.
    J'en doute fortement car pour un jeu vidéo il faut 100% de l'accélération matérielle.
    Or comme Java est une couche logicielle entre le matériel et l'applicatif , c'est pas l'idéal.Son utilisation est plutôt tournée vers l'info de gestion
    Je suis en train de créer un jeu 2 D développé en... C (aucune classe C++ !) et me demande si je ne vais pas programmer en assembleur certaines parties ( donc impossible à faire en Java )

    j'obtiens les mêmes conclusions pour mon jeu écrit avec GL4Java.
    Très cher Monsieur, vous serez un jour ou l'autre obligé de mettre les mains dans le cambouis quand le jeu sera finalisé

    je pense que cela n'est pas vraiment l'objet du debat ici...
    Ah bon ! je peux pas faire de jeu avec Java utilisant Direct X.
    Bon ben tant pis

    c'est surtout la conclusion qui est interessante et pas seulement quelques uns des points négatifs cité dans la comparaison java/c++ :
    Qu'en est-il des remarques que j'ai faite provenant du site www.internalmemo.com ?

  2. #142
    Membre habitué

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 162
    Points
    162
    Par défaut
    J'en doute fortement car pour un jeu vidéo il faut 100% de l'accélération matérielle.
    Or comme Java est une couche logicielle entre le matériel et l'applicatif , c'est pas l'idéal.Son utilisation est plutôt tournée vers l'info de gestion
    Je ne suis pas d'accord, La couche matérielle ralentit vraiment les appli de gestion parce JAVA dessine tous les objets graphiques, quand à l'accélération matérielle, une interface native est utilisée, l'écart de performances entre JAVA et C++ diminue fortement.
    En revanche je suis d'accord avec le fait que JAVA ne soit pas approprié pour des jeux 3D nécessitant de hautes performances.

    Je suis en train de créer un jeu 2 D développé en... C (aucune classe C++ !) et me demande si je ne vais pas programmer en assembleur certaines parties
    Perso je n'en vois pas l'intrêt. Actuellement les bibliothèques graphiques sont très modulables, réutilisables, et surtout beaucoup plus optimisées et stables que ce que tu vas écrire en assembleur. Tu devrais trouver ce qu'il te faut facilement.
    Tu es sans doutes conscient qu'en programmant en C et assembleur tu vas décupler ton temps de développement et maximiser les risques de problèmes, alors qu'en utilisant une conception OO tu avanceras beaucoup plus vite, avec des composants (généralement) déjà disponibles et OPTIMISES.

    Je pense que le C/Assembleur etait performant il y a 10 ans, alors que les bibliothèques grahiques n'étaient pas ce qu'elles sont... Aujourd'hui je pense que c'est du suicide. Libre à toi de tout refaire...

    ( donc impossible à faire en Java )
    Si, avec la JNI! tu devras utiliser un compilateur C à cause de l'entete genere par javah , mais rien ne t'empêche d'utiliser de l'assembleur que je sache, de toutes façons tu utiliseras un compilateur c avec ton programme C+ASM, c'est un peu idiot comme raisonnement...


    Ah bon ! je peux pas faire de jeu avec Java utilisant Direct X.
    Bon ben tant pis
    Pourquoi pas?? Tu peux télécharger la bibliothèque java3D sous directX et OpenGL, elle est encore en beta, mais devrait bientot sortir en version finale (stable).

    Un programme en C++ c'est peut-être aussi instable becose pointeurs mais ça prend pas 35-40 Mo en mémoire pour afficher "Hello World" !
    De quand date le test?
    En revanche les problèmes de pointeurs peuvent provoquer des probèmes beaucoup plus gênant que le crash de la JVM, car lorsque tu vas écrire n'importe ou avec un pointeur mal affecté, tu ne sais pas ce que tu vas modifier. J'ai vu provoquer des crash système gravissimes à cause d'un pointeur mal déférencé en C. Peut pas arriver en JAVA.

  3. #143
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 664
    Points : 61 524
    Points
    61 524
    Par défaut
    Ca devient très génant de centrer le débat sur le développement de jeux, sachant à ma connaissance java est principalement utilisé soit pour le développement d'applications d'entreprises distribuées (déjà très nombreuses), soit pour les applications embarquées (très nombreuses aussi).

    Les 2 langages on déjà fait largement leur preuves, aussi bien techniquement que par leur prédominance sur le marché.

    Qui à dit "désormais arretez de faire des jeux en C++ faites les en Java " ? personne à dis cela (quoi que on voi apparaitre énormément de jeux en Java pour les mobiles sous java, comme quoi c'est possible, et que cela se fait). Je dirais meme plus il y à certainement une raison de faire des jeux en java ? l'utilisateur mobile peux télécharger le jeux sous forme SOURCE, donc quelques Ko, c'est impossible à faire avec en source C++, car il ne va pas recompiler le jeux sur son mobile. Donc dans ce cadre d'utilisation en mobile ou PDA, Java apporte un PLUS : Le téléchargement rapide.


    Et d'autre part les serveurs d'applications comme Webshpere, Weblogic, Jboss, etc sont des serveurs d'applications java, pas C++, alors ces 2 langages sont bien souvent TOTALEMENT distincts dans leur véritable utilisation.

    D'autre part Java est utilisé principalement en ENTREPRISE, alors que les développeurs amateurs particuliers qui ne comprenent pas l'interet de cette plateforme arretent aussi de venir polluer ce sujet, sujet désormais réservé aux professionnels en entreprise merci.

    La bonne question étant plutot dans quel cadre d'applications utiliser tel langage ou tel plateforme, et dans quel but c'est cela là vrai question "utile".

    Merci aux développeurs de jeux en C++ d'arreter de polluer ce sujet, parce que quelque messages sur le sujet développement de jeux ca va bien, mais de là à porter tout le débat là dessus cela n'à vraiment aucun intéret, ou il va falloir scinder le sujet en 2.

    Ne pas me contacter pour le forum et je ne répondrai à aucune question technique. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  4. #144
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    Ca devient très génant de centrer le débat sur le développement de jeux, sachant à ma connaissance java est principalement utilisé soit pour le développement d'applications d'entreprises distribuées (déjà très nombreuses), soit pour les applications embarquées (très nombreuses aussi).
    La bonne question étant plutot dans quel cadre d'applications utiliser tel langage ou tel plateforme, et dans quel but c'est cela là vrai question "utile".
    Merci aux développeurs de jeux en C++ d'arreter de polluer ce sujet, parce que quelque messages sur le sujet développement de jeux ca va bien, mais de là à porter tout le débat là dessus cela n'à vraiment aucun intéret, ou il va falloir scinder le sujet en 2.
    Tu as raison, mais ce n'est pas hors sujet non plus. "c++ vs java" : le sujet est assez vaste pour pouvoir donner son avis sur tous les domaines de la programmation.
    Et surtout de donner des arguments afin d'éviter les préjugés sur tel ou tel langage.


    Qui à dit "désormais arretez de faire des jeux en C++ faites les en Java " ? personne à dis cela
    non personne, mais certains ont qd même dit que le java ne permet pas de faire des jeux vidéos. Cet a-priori est non fondé car dans l'esprit de la plupart des gens, la capacité d'affichage d'un jeu dépend du langage, ce qui n'est plus vrai depuis l'arrivée des cartes accélérée opengl ou direct3D (ca fait plus de 5 ans...). Bon ce thème est bien traité dans la thèse citée plus haut, donc inutile d'y revenir.

    Je dirais meme plus il y à certainement une raison de faire des jeux en java ? l'utilisateur mobile peux télécharger le jeux sous forme SOURCE, donc quelques Ko, c'est impossible à faire avec en source C++, car il ne va pas recompiler le jeux sur son mobile. Donc dans ce cadre d'utilisation en mobile ou PDA, Java apporte un PLUS : Le téléchargement rapide.
    de plus pendant l'execution la jvm charge du serveur les classes qui sont utiles uniquement à l'instant t, d'où un amortissement du chargement sur plusieurs secondes sans affecter le client.

    Et d'autre part les serveurs d'applications comme Webshpere, Weblogic, Jboss, etc sont des serveurs d'applications java, pas C++, alors ces 2 langages sont bien souvent TOTALEMENT distincts dans leur véritable utilisation.
    on peut faire des composants com ou com+ en c++, qui sont des composants serveurs comme les ejb, il me semble (enfin pas tout à fait). IIS est le serveur d'application de microsoft non? Je serais intéressé par les possibilités d'un tel serveur vu qu'il est certainement repris dans .NET.


    D'autre part Java est utilisé principalement en ENTREPRISE, alors que les développeurs amateurs particuliers qui ne comprenent pas l'interet de cette plateforme arretent aussi de venir polluer ce sujet, sujet désormais réservé aux professionnels en entreprise merci.
    alors le débat va devenir .NET versus J2EE dans pas longtemps...

    Je suis en train de créer un jeu 2 D développé en... C (aucune classe C++ !) et me demande si je ne vais pas programmer en assembleur certaines parties
    Oui moi aussi j'ai écrit des routines d'affichage assembleur MMX et FPU qui faisaient mieux que directX en software (en 1998). C'etait fantastique, d'ailleurs je vais recoder certaines partie de la jvm directement avec JNI en passant par l'assembleur.

    Ah bon ! je peux pas faire de jeu avec Java utilisant Direct X.
    Bon ben tant pis
    rien ne t'empeche de coder le mapping toi même en jni. bon courage. Mais tu vas perdres deux choses :
    1) la portabilité car sous linux, pas de directX
    2)ton temps, car opengl est bien supérieur et qu'il existe une librairie
    (GL4JAVA)

    Pourquoi pas?? Tu peux télécharger la bibliothèque java3D sous directX et OpenGL, elle est encore en beta, mais devrait bientot sortir en version finale (stable).
    Ah non, pas l'infame java3D. C'est une couche équivalente à l'ancien retained-mode de directX, hyper-lent donc. Il vaut mieux attendre la version 1.4 qui proposera une refonte de l'architecture. En attendant : GL4JAVA et LWJGL

    Je ne suis pas d'accord, La couche matérielle ralentit vraiment les appli de gestion parce JAVA dessine tous les objets graphiques, quand à l'accélération matérielle, une interface native est utilisée, l'écart de performances entre JAVA et C++ diminue fortement.
    En revanche je suis d'accord avec le fait que JAVA ne soit pas approprié pour des jeux 3D nécessitant de hautes performances
    100% d'accord : en java tu as effectivement 100% de l'accélération matérielle (c'est le opengl natif qui s'en charge).
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  5. #145
    mat.M
    Invité(e)
    Par défaut
    Monsieur l'administrateur du site , juste si vous permettez un petit droit de réponse :

    sachant à ma connaissance java est principalement utilisé soit pour le développement d'applications d'entreprises distribuées
    Nous sommes d'accord la-dessus j'ai indiqué précedemment que l'usage de Java était orienté info de gestion et non jeux vidéos.
    Certaines personnes avant moi ont parlé de faire des moteurs de jeux 3D avec Java

    Actuellement les bibliothèques graphiques sont très modulables, réutilisables, et surtout beaucoup plus optimisées et stables que ce que tu vas écrire en assembleur. Tu devrais trouver ce qu'il te faut facilement.
    [...]
    Je pense que le C/Assembleur etait performant il y a 10 ans, alors que les bibliothèques grahiques n'étaient pas ce qu'elles sont... Aujourd'hui je
    pense que c'est du suicide. Libre à toi de tout refaire...
    Les librairies ?? Pour l'affichage graphique direct , Open GL et Direct X le font. Pour ce qui est du "middleware" ce ne sont pas avec les "petites" librairies qu'on trouve à droite et à gauche sur Internet comme Allegro ou je ne sais quoi ( cf sourceforge ).

    Les véritables jeux vidéos du commerce sont développés avec des "middleware" comme ceux de Criterion ( "RenderWare") ou Monolith à 20000 euros la licence de développement

  6. #146
    Membre éclairé

    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
    Points : 657
    Points
    657
    Par défaut
    Bonsoir !

    Je pense comme Grégory et addicted_to_MFC que le débat c++ / Java pour l'informatique de gestion n'a plus lieu d'être. Dans ce domaine, les nouvelles technos ont détroné C++. J'ai été très intéressé de voir que désormais Java concurrence le C++ dans les jeux vidéos, chose que j'ignorai.

    D'après ce débat, l'encapsulation des traitements standards écrits en natifs donne à Java un niveau de performance correct. Et c'est l'avenir, clairement. L'avenir n'est pas aux bugs et à l'éternel recommencement.

    A mon sens, l'étape suivante sera de transformer les systèmes d'exploitations en machines virtuelles, afin que toutes les applications soient en environnements managés. Et je soupçonne Microsoft d'y songer depuis un bout de temps.

    Thomas

  7. #147
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2002
    Messages : 72
    Points : 1 063
    Points
    1 063
    Par défaut
    Bonjour,

    Ca devient très génant de centrer le débat sur le développement de jeux, sachant à ma connaissance java est principalement utilisé soit pour le développement d'applications d'entreprises distribuées (déjà très nombreuses), soit pour les applications embarquées (très nombreuses aussi).
    Je n'ai pas mis le lien pour parler spécialement du developpement des jeux en java, mais pour les points interessant concernant la comparaison des 2 langages C++ et java quand aux performances car l'allégation disant que java est lent revient toujours et tout le temps et il est interessant d'avoir une étude quantifiée pour pouvoir juger de la chose.

    De plus ce que dit l'auteur de cette étude quand à l'aide qu'apporte java dans le developpement, remarques qui dépassent le cadre d'un type particulier de developpement est un avis que je partage pour l'avoir expérimenté dans l'écriture d'applications de gestion client serveur.

    Mon opinion et mon expérience sont qu'en java une application sera codée plus vite et plus facilement et fonctionnera avec moins de réglages que la meme appli écrite en c++ , du moins dans le domaine de l'informatique de gestion.

    De plus,la plateforme java fournit de base un support tres interessant pour documenter ses applications, ce qui n'est pas le cas en c++.

    Dans bien des aspects , la plateforme de developpement java me semble beaucoup plus solide question professionnalisme que la platforme c++ qui est plus (n'y voyez pas d'agression péjorative) à mon sens un outil qui satisfera d'avantage les passionnés de bricolage technique et de réglage fin d'applications demandant un haut degré d'optimisation.

    Je travaille dans un domaine très stricte quand à la documentation des développements (procédure qualité , revue de code, documentation complète des dévelopements, unit testing...) et à ce niveau, la plateforme java me semble offrir d'avantage d'outils que la plateforme c++.

    En résumé, personnellement, à la maison quand je triture un moteur 3D, j'aime utiliser le c++, au travail quand je dois développer pour mes clients, je choisi et préfère java.

    Cordialement

    O.Constans
    Ancien rédacteur Java/J2EE ,C++Builder

  8. #148
    Membre averti Avatar de Epictète
    Inscrit en
    Mars 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 219
    Points : 341
    Points
    341
    Par défaut
    Je voudrais attirer l'attention de tous sur le fait qu'Olivier Contans (cis dessus) développant à la fois en C++ et en Java, son avis est particulièrement important.

    L'avis d'une personne comme Olivier utilisant les 2 langages à plus de valeur qu'une personne n'en utilisant qu'un et venant défendre mordicus son langage à lui, en dénigrant l'autre.

    Olivier ne dénigre ni l'un ni l'autre et il dit au contraire utiliser l'un OU l'autre en fonction des situations...

    -> Consultez les cours et tutoriels
    -> Consultez la F.A.Q du forum que vous utilisez
    -> Lisez les règles du forum

  9. #149
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Citation Envoyé par Olivier Constans
    De plus,la plateforme java fournit de base un support tres interessant pour documenter ses applications, ce qui n'est pas le cas en c++.
    Je travaille dans un domaine très stricte quand à la documentation des développement (procédure qualité , revue de code, documentation complète des dévelopement, unit testing...) et à ce niveau, la plateforme java me semble offrir d'avantage d'outils que la plateforme c++.
    C'est probablement vrai. Mais qui, dans un cadre professionnel, utilise C++ de base (compilateur + editeur de texte)?

    Le fait est qu'il existe des outils permettant de realiser tout cela en C++ egalement. Les procedures qualite, la revue de code, ... n'ont pas grand chose a voir avec le langage mais avec la culture et les normes dans l'entreprise.

    Java possede egalement de base un outil de documentation du code, mais il en existe un certain nombre egalement pour C++, pour qui en a besoin.

    Le fait est que c'est plus "facile" lorsqu'ils sont fournis de base, mais c'est surtout une question de facon de faire et de processus d'entreprise que de plateforme ou de langage.
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  10. #150
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2002
    Messages : 72
    Points : 1 063
    Points
    1 063
    Par défaut
    C'est probablement vrai. Mais qui, dans un cadre professionnel, utilise C++ de base (compilateur + editeur de texte)?
    Le fait est qu'il existe des outils permettant de realiser tout cela en C++ egalement.
    Personnelement j'utilise C++Builder5 et 6, bien que j'aprécie l'outil, il ne fournit pas , de base , les outils pour documenter l'application, il faut les acheter en plus avec ce que cela sous entend (recherche des outils, évaluation, coût suplémentaire...).

    Et a ma connaissance (mais je peux me tromper car ne l'ayant pas beaucoup pratiqué) visualC++ ne fournit pas non plus ces outils de documentation dans sa version de base...

    Java est fournit de base avec javadoc et lorsqu'on utilise java avec un IDE comme jbuilder8 , on a tout sous la main.

    Les procedures qualite, la revue de code, ... n'ont pas grand chose a voir avec le langage mais avec la culture et les normes dans l'entreprise.
    tout à fait, mais quand un outil propose d'emblée tout ce qu'il faut pour répondre à la culture et aux normes de l'entreprise, pourquoi ne pas le dire et en etre content !

    Après tout, ce qui fait le professionnalisme d'un outil c'est qu'il réponde au maximum aux besoins qu'un professionnel rencontre dans l'exercice de son métier ... non ?


    sinon , j'aime bien les 2 langages, ils sont aussi ,intellectuellement, motivant l'un que l'autre , bien que pas de la même façon
    Ancien rédacteur Java/J2EE ,C++Builder

  11. #151
    Membre averti Avatar de Epictète
    Inscrit en
    Mars 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 219
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par Elrond
    Le fait est que c'est plus "facile" lorsqu'ils sont fournis de base, mais c'est surtout une question de facon de faire et de processus d'entreprise que de plateforme ou de langage.
    Comme Java intégre plus que C++, tu peux plus facilement passer par exemple de JBuilder à Eclipse à NetBeam à JCreator et inversement.

    C'est moins évident de passer de Gcc à VC++ à BC++ à dev C++ et inversement, niveau différents de support de la norme, STL différentes, Libs GUI différentes, etc...

    En Java à partir du moment ou tu as décidé de travailler sur une version de JDK, par exemple là 1.3, tu va tout retrouver à l'identique quel que soit l'EDI ou la plateforme. Il existe quelques bugs et exeptions, mais cela reste des exceptions....
    -> Consultez les cours et tutoriels
    -> Consultez la F.A.Q du forum que vous utilisez
    -> Lisez les règles du forum

  12. #152
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Le passage d'une plateforme a une autre est effectivement une question de langage ou il est evident que Java est plus approprie que C++.

    Ca n'a toutefois pas grand chose a voir avec les problemes de processus qualite ou de documentation qui sont a la base independants du langage.
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  13. #153
    Membre averti Avatar de Epictète
    Inscrit en
    Mars 2002
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 219
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par Elrond
    Le passage d'une plateforme a une autre est effectivement une question de langage ou il est evident que Java est plus approprie que C++.
    C'est quand meme important que cela soit clair pour tous le monde.


    Citation Envoyé par Elrond
    Ca n'a toutefois pas grand chose a voir avec les problemes de processus qualite ou de documentation qui sont a la base independants du langage.
    Je pense que si, parce que si tu as mis en place ce genre de chose en "C++" il y à fort à parier que cela s'applique pas seulement à un langage, mais probablement à une plateforme, un compilo, une lib STL, un EDI et différentes libs plus ou moins standard ou pas et portables ou pas...

    C'est comme si tu as décidé d'utiliser soucesafe (VC++/Windows) versus CVS (x langage, xplateforme), c'est juste un exemple.

    En Java si tu change un bout tout le reste fonctionne. Dans le monde C++ si tu as décidé de passer de Windows à Linux ou de Borland à Microsoft ou inversement, il y à fort à parier que tu as besoin de revoir toute ton organisation...


    Pour s'en convaincre il suffit de lire le forum C++ : "passer de MFC à CLX" , "mon code VC++ ne marche plus sous dev C++", "quelle lib choisir pour etre portable Windows / linux", blablabla....
    -> Consultez les cours et tutoriels
    -> Consultez la F.A.Q du forum que vous utilisez
    -> Lisez les règles du forum

  14. #154
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2002
    Messages : 72
    Points : 1 063
    Points
    1 063
    Par défaut
    Ca n'a toutefois pas grand chose a voir avec les problemes de processus qualite ou de documentation qui sont a la base independants du langage.
    Si parceque dans le processus d'une démarche qualité, le choix des outils utilisés doit être justifié et cela est fait par l'intermédiaire d'une évaluation stricte de ces outils . Une erreur de choix à ce niveau pouvant entrainer de graves conséquences par la suite.

    Pour donner un exemple ,le domaine pharamaceutique est soumis ,sur le marché américain ,à des normes très strictes établies par le FDA (food and drug administration) concernant le contrôle qualité et si un accident mortel intervient suite à une erreur de fabrication d'un remède et que cette erreur de fabrication est prouvée comme provenant d'un bug , lui même issu d'un choix inadapté de l'outil de développement... la personne qui a signé le formulaire d'évaluation est plutôt mal !

    Dans ce contexte, savoir lequel des 2 langages C++ ou java permettra d'écrire les programmes les plus sûrs est primordial !
    Ancien rédacteur Java/J2EE ,C++Builder

  15. #155
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    C'est quelque chose de different. Java (de base) ET C++ (pas de base) possedent des outils qui permettent de mettre en place une documentation fiable et des processus qualite performants. Le fait de posseder et mettre en place un processus qualite n'a donc rien a voir avec le langage.

    Que le processus qualite permette ensuite de choisir le meilleur langage pour une tache, bien sur! Mais ce n'est en principe pas le langage qui doit dicter le processus qualite. Le fait que Java possede certains composants de base n'en fait donc pas un meilleur (ni pire) langage que C++ a ce niveau (moins cher et immediatement utilisable, sans doute).
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  16. #156
    Futur Membre du Club
    Inscrit en
    Avril 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Salut, tous
    Je voudrais rebondir sur le post de DevelopezAdm au sujet des jeux sur mobile, il vrai que la dominace va AUX technos java pour diverses raisons et notament le download de jeux. mais il existe des solutons pour le jeux mobile en C/C++ avec Mophun, elle certes peu deployer mais elle existe.

    Pour parler un peu performance, je vais juste vous donnez l'experience de ma boite, qui propose un service de jeux telechargable base sur une techno proprietaire, elle meme baser sur une JVM (donc du java).
    Nous avons un serveur qui interragit avec nos telephones via sms, ce serveur et lui aussi en java (en EJB pour etre plus precis),et bien l'on arrive a avoir des perfs qui on surpris des consultant BEA weblogic... dans le bon sens, il nous meme dis que c'est la premiere fois qu'il voyait ca, et vu le prix que l'on les a payer il ne devait pas etre a leur premiere mission... pour donner un ordre d'idee nous traitons un sms (reception, lecture, requete, generation de la reponse, game logic, log....) en 1s en moyenne en comptant l'Air Time (le trajet des donner via le reseaux GSM...). pour ce qui sont la partie, ils veront tous ce sans etre une prousse digne digne du prix nobel, ca reste fort superieur a d'autre type de service sms acharge equivalante...

    Pour en revenir a Java et les jeux, la aussi on est en train de voir des chose qui annonce peut-etre le future, prener par exemple le kit de dev que jamid (www.jamid.com) a creer pour la GBA, il se base sur MIDP (Java) et il parait (il faut que je teste) que les perfs sont tres honnorable.

    J'aimerais aussi donner mon avis sur ce debat qui a ete mal lancer, car pour moi il n'y a pas de C++ vs Java car il ne sont pas comparable, certes les 2 sont OO, mais l'un est en environnement manage comme cela l'a ete dis avant, l'autre non.
    En poussant un peu a l'extreme la comparaison c'est comme debatre sur ASM vs C, c'est evident que l'ASM est plus rapide et que le C est plus productif, est d'ailleur qu'est que les progammeur de jeux video on fait, ils ont coder en C avec un peu d'ASM a droite, a gauche pour optimiser leur routine... et je pense Java suivras cette voie (c'est deja plus ou moins le cas). Java a un niveau d'abtraction plus grand que C++ ( au niveau conception langage), mais comme tous le language il a ces defauts et c'est qualite.

    pour ce qui est du devenir du C/C++, je suis sur qu'il n'est pas pret de prendre ca retraite, il seras moins utiliser surement, mais pas mis au placard, car on auras toujours besoin d'une gestion bas niveau ne serais que pour creer une JVM (ou un CLR d'ailleur)...

    Au sujet des VMs, (je dis des VMs, oui) je tiens a dire que ce qui fait la performance de une appli java (qd elle est bien programmer) c'est la qualite de la VM, et celle de sun est loin d'etre la plus performante (meme s'il on fait de tres gros progres avec la 1.4), d'ailleur il le dise eux meme pour ceux qui on acces au code source de celle ci, elle est donner a titre de reference et qu'elle n'est en aucun cas optimiser!!!

    En bref pour repondre au post d'origine, on ne peut dire qu'il est preferable d'utiliser C++, plutot que Java; tous depens du contexte du projet, des contraintes, et du gout personnel qd le choix n'as aucune importance sur les contraintes... c'est comme choisir entre deux format de sauvegarde de documant dans une appli, un binaire ou du XML, si on as des contraintes de taille de fichier on choisiras plutot le format binaire, si c'est la portabilite qui prime ce seras le XML, mais rein n'empeche non plus de mixer les deux un XML avec des reference vers des fichier binaires si c'est la meilleures solution au pb....

    voila nom avis sur la question, je pense avoir ete honnete et objectif, de plus que suis qqun qui est plutot pro java ( j'adore ce language...). Mais force est de reconnaitre qu'il faut comparer ce qui est comparable, et d'etre honnete avec soit meme pour conseiller au mieux les petits nouveaux.

    KenjForce
    ----------------------------------
    MIDP-ExEn Game developer

  17. #157
    Membre éprouvé

    Inscrit en
    Mars 2002
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Points : 905
    Points
    905
    Par défaut
    Un jeu, c'est avant tout une idée et un game play, ensuite viens la realisation technique (et donc le langage)

    C'est parceque tu fait du C++ que tu va faire un bon jeux... La seule difference, c'est que si tu code pas nickel, cela se voira moins qu'avec du Java puisque le C++ est plus rapide...

    De plus, ce qui prends des ressources dans un jeu, c'est l'affichage... chose delegué en grande partie au materiel. Quelque soit le langage que tu utilise, tu aura toujours moyen de faire des milliers d'instruction avans que la carte graphique n'est fini sont job.

    Il reste un etat de fait, 90% (voir plus) des jeux commerciaux sont écrit en C++...

    grace aux ameliorations du langage
    C'est certaiment pas au langage de changer... Seules les bibliotheque nous interresse. Il ne existe en Java pour travaillé en openGL, y a deja moyen de faire des tas de chose ...

  18. #158
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 664
    Points : 61 524
    Points
    61 524
    Par défaut
    Je viens de supprimer plus de 10 messages environ.

    Raison : hors sujet

    Je rappelle le sujet : C++ versus Java

    Je rappelle d'autre part que le forum débat est désormais interdit aux débutants...

    Les débutants sont tolérés, il sont bienvenus pour poser (correctement) des questions dans le bon forum, mais l'avis des débutants n'à aucun intéret dans un débat, c'est de la pollution pure et simple.

    Ne pas me contacter pour le forum et je ne répondrai à aucune question technique. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  19. #159
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    je voudrais juste dire que les personnes qui dise que le java est complet, je les comprends pas.
    tout simplement, existe t'il un systeme d'exploitation basé sur Java ???
    peut on integrer de l'assembleur dans Java ???

    tout ce que Java fait, c++ peut le faire, bein que cela soit plus difficile a mettre en oeuvre.

    autre question, la JVM elle est codé en quoi ? je pense que c probablement du C ou C++ par consequent, le Java depends du C/C++ pour tourner et les performances du java reposes sur celle du C/C++
    _____________
    (c) Maw-ware

  20. #160
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2002
    Messages : 19
    Points : 25
    Points
    25
    Par défaut
    Salut

    Java n'a pas ete concue dans le but de faire un system d'exploitation, il a ete concue pour pouvoir creer des programme portable plus facilement. Pour ce qui est de l'assembleur, ca serais completement contre la mentalite de java, parce que un code assembleur n'est utilile que pour l'architecture qu'il a ete compiler. Alors adieu la portabiliter.

    Moi je suis un programmeur en C avant tous, mais j'aime bien toucher a tous les langage disponible. Pour ceux qui crois que le C, C++ vont disparaitre pour des langage du style de java, je ne crois pas. il y auras toujours des programmeurs c, c++ comme il en existe encore en assembleur, sauf que leurs nombre va aller en decroissant. Enfin c'est ce que je crois.
    Hot Metal

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