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. #1181
    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
    et j'en rajouterais une (petite) louche, bien que je sois entièrement d'accord avec toi, lilington :

    • A priori Java était fait pour faire des GUI.
    • A priori, VC++ était fait pour faire des GUI (comme Delphi, et VB) pour Windows, les autres plateformes disposant de "vrais" () programmeurs, utilisant des biblothèques de fonctions pour faire les GUI (GKS, puis X et OpenGL).
    • A priori, sur les autres plateformes que Windows, ça ne dérangeait personne.
    • A priori, le principe de la séparation des couches faisait que il y avait d'un côté les langages pour faire les applis, et de l'autre les langages/biblothèques pour faire des GUI.


    Résultat : on essaye de faire des monstres qui font tout, et qui, comme de bien entendu, ne font rien correctement. Les graphismes sont moches dans un peu tous les outils (c'est pas pour rien que les gens du Motif Consortium avaient mis 15 ans à faire des widgets), les performances des applis sont en général en deça de ce qu'elles pourraient être avec des langages comme C ou Fortran, les modèles et constructions sont plus complexes, il faut avoir des cours pour savoir comment présenter la structuration de son programme et le communiquer (création de nouveaux concepts, impossibilité de transmettre l'architecture sans des outils complexes (diagrammes MCD, XML, UML, ...)...).. Et les applis mélangent allègrement GUI et fonctionalité, à tel point qu'il faut également des cours (et des threads sur ce forum) pour départager ce qui est métier de non, ce qui hérite de ce qui est hérité, sans compter l'éclatement en des dizaines de langages (voir les C#, .net, Php, et autres Java) pour finalement faire la même chose : avoir une fenêtre avec du code HTML dedans.... Et qui lance des bouts d'applis par derrière...

    Bref, une réussite de tout premier ordre...


    ça me fait penser à la crise financière : nous avons vécu dans les 15 dernières années en info la même chose : une explosion d'outils de plus en plus complexes, présentés comme de plus en plus simples et solutionnant les "problèmes", mais qui au final rendent à mon avis les choses de plus en plus dangereuses et non maintenables... Mais ça n'est que mon avis de vieux crouton
    "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

  2. #1182
    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
    Ca c'est ce que j'appelle prêcher pour sa paroisse ou je m'y connais pas.
    Evidemment quand on est consultant C, fortran et Motif, ben on conseille du C du fortran et du Motif

  3. #1183
    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
    plus de serieux et moin de throll.
    c'est justement ce que souviron34 raconte qui me fait dire que JAVA c'est bien c'est meme tres bien mais faut reconnaitre que passer par une machine virtuelle ou un sait pas ce qui ce passe derriere c'est dangereux. nouvelle technologie ou pas. reconnaissez s'il vous plait que java c'est plus concu pour faciliter la vie au programmeur que pour optimiser le resultat. force est de reconnaitre que des efforts sont fait. Java c'est tres bien. mais comme je l'ai dit de facon plus drole plus haut. si je veux gagner de l'argent tres vite, en faisant un outils comptable le C serait le pire choix. C++ encore mieux mais Java ca ira encore plus vite (je parle la de realisation du produit).et d'ailleur un logiciel de gestion comptable a priori ne bouffe pas de ressource au point de reflechir a comment faire pour que ca aille plus vite(j'en ai fait un avec VB6 quand je vois le code aujourd'hui je le trouve tres mal programme mais tres efficace).
    comme beaucoup l'on dit avant moi ca depend des besoins. ex:
    vous connaissez sans doute ZUMA ou LUXOR des jeux. ils n'existes pas sous Linux de facon native alors avec 2 autres potes on diside de le refaire sous linux. quand la question graphique fut vite reglee "OpenGl" le choix du language a ete un probleme. un seul etait partisant de programmation sans POO donc je parlais de C quand a eux ils me parlaient de classes. je dis c'est possible en C ils me repondent oui mais c'est lourd a faire et en plus on va devoir tout gerer nous meme.bon ok d'accord pour la POO. deuxieme probleme l'un dit dans ce cas alors java et pour le graphisme on adapte. Pourquoi Java? il repond: "c'est tellement plus pratique".
    Apres cette experience je me rend compte que beaucoup de gens compare java a C++ non pas en terme de performence mais en terme de "c'est pratique d'ecrire dans ce language ou pas?" et la force est de reconnaitre que C++ c'est 1000 fois mieux que C et java c'est 10fois mieux que C++.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  4. #1184
    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
    Citation Envoyé par kpouer Voir le message
    Ca c'est ce que j'appelle prêcher pour sa paroisse ou je m'y connais pas.
    Evidemment quand on est consultant C, fortran et Motif, ben on conseille du C du fortran et du Motif
    ce que tu dis est vrai mais vois la realite, la comparaison ne se fait pas de maniere juste et equilibree.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  5. #1185
    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
    Passer par une machine virtuelle n'est pas nécéssairement un mal.
    Ca permet aussi d'éviter des catastrophes.
    Au moins tu es sur que ton soft ne va pas partir en sucette et bouffer la totalité de la ram d'un serveur en production car la machine virtuelle l'interdit.
    Avec un langage sans VM ca peut arriver (et ca arrive).
    Sans garbage collector les gens finissent par s'en inventer même en c++, regarde Mozilla, toutes les fuites mémoires expliquées par leur gestion mémoire avec des références croisées qui font que les objets ne sont pas libérés (c'est eux qui l'ont dit).
    Tu vas me dire que ca n'arrive pas quand on programme bien, oui c'est sur mais un programme sans bugs ca n'existe pas

  6. #1186
    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 Voir le message
    Ca permet aussi d'éviter des catastrophes.
    J'ajouterai un détails. Avec java et probablement avec d'autres langages à VM, il est possible de modifier les droits d'accès de la VM (c'est un simple fichier de propriété défini par utilisateur). Par exemple ne donner les droits d'écriture que dans certains répertoires.

    Ca, je trouve ça pas mal.


    Bon, sous UNIX, il va être possible de ruser pour avoir ce même type de comportement pour des langages compilés en langage machine.
    Je ne répondrai à aucune question technique en privé

  7. #1187
    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 Voir le message
    Bon, sous UNIX, il va être possible de ruser pour avoir ce même type de comportement pour des langages compilés en langage machine.


    sous windows aussi... à condition de l'admin du système soit bien faite
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #1188
    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
    Citation Envoyé par kpouer Voir le message
    Passer par une machine virtuelle n'est pas nécéssairement un mal.
    Ca permet aussi d'éviter des catastrophes.Au moins tu es sur que ton soft ne va pas partir en sucette et bouffer la totalité de la ram d'un serveur en production car la machine virtuelle l'interdit.
    Avec un langage sans VM ca peut arriver (et ca arrive).
    Sans garbage collector les gens finissent par s'en inventer même en c++, regarde Mozilla, toutes les fuites mémoires expliquées par leur gestion mémoire avec des références croisées qui font que les objets ne sont pas libérés (c'est eux qui l'ont dit).
    Tu vas me dire que ca n'arrive pas quand on programme bien, oui c'est sur mais un programme sans bugs ca n'existe pas

    Euh ça n'arrive qu'à moi d'avoir régulièrement une petite fenêtre en bas à droite (sous Windows) disant "mémoire virtuelle épuisée" ???

    Pourtant je ne me sers pratiquement que du navigateur....



    Je n'ai JAMAIS eu ça sous unixoides (ou VMS pour le cas) (faits en C)
    "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

  9. #1189
    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 souviron34 Voir le message
    Euh ça n'arrive qu'à moi d'avoir régulièrement une petite fenêtre en bas à droite (sous Windows) disant "mémoire virtuelle épuisée" ???

    Pourtant je ne me sers partiquement que du navigateur....
    Ba moi j'ai jamais vu en tout cas, ca t'es arrivé avec quelle application aussi ? C'est juste que t'as une appli foireuse c'est tout

  10. #1190
    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
    Citation Envoyé par kpouer Voir le message
    Ba moi j'ai jamais vu en tout cas, ca t'es arrivé avec quelle application aussi ? C'est juste que t'as une appli foireuse c'est tout
    IE (la plupart du temps je vois des trucs .php etc etc qui tournent allègrement)

    Et regarde ma note ci-dessus
    "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

  11. #1191
    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 souviron34 Voir le message
    IE

    Et regarde ma note ci-dessus
    IE n'a rien a voir avec la mémoire virtuelle de java

  12. #1192
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    a plupart du temps je vois des trucs .php etc etc qui tournent allègrement
    Je ne vois pas le rapport.

    Je ne vois pas non plus pourquoi du code java / .Net ou autre serait moins maintenable que du code C.

    Ca devient vraiment n'importe quoi cette discussion.

  13. #1193
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kpouer Voir le message
    IE n'a rien a voir avec la mémoire virtuelle de java
    Et la mémoire virtuelle n'a rien à voir avec Java

    La mémoire virtuelle correspond à la somme de la mémoire vive (RAM) et du cache, et est géré par l'OS...

    Bref cela veut simplement dire qu'une application consomme trop de mémoire

    a++

  14. #1194
    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 souviron34 Voir le message
    IE (la plupart du temps je vois des trucs .php etc etc qui tournent allègrement)

    Et regarde ma note ci-dessus

    Ok donc comme le pressentait adiGuba, ca n'a strictement rien a voir avec java mais avec ton OS qui bizarrement est en c++

  15. #1195
    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
    Citation Envoyé par kpouer Voir le message
    Ok donc comme le pressentait adiGuba, ca n'a strictement rien a voir avec java mais avec ton OS qui bizarrement est en c++
    aucune idée.. C'est Windows XP.

    Maintenant, je trollais un peu (voir le post déclencheur ), mais je m'inscrivais quand même en faux par rapport au fait de dire "la mémoire virtuelle solutionne tous les problèmes" (ce qui déjà sortait du cadre du thread )


    Ce qu'adiguba signale, c'est le contraire de ce que tu dis : c'est que ce qui est géré par Java entre dans le cadre de la mémoire virtuelle totale..
    "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

  16. #1196
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Ce qu'adiguba signale, c'est le contraire de ce que tu dis : c'est que ce qui est géré par Java entre dans le cadre de la mémoire virtuelle totale..
    Non non et non : la mémoire virtuelle est géré par le système d'exploitation, et concerne donc TOUTES les applications !

    A ne pas confondre avec la machine virtuelle, qui correspond à l'environnement d'exécution des applications Java, ni avec le Garbage Collector qui alloue et gère lui-même la mémoire de l'application...

    a++

  17. #1197
    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
    Citation Envoyé par adiGuba Voir le message
    Non non et non : la mémoire virtuelle est géré par le système d'exploitation, et concerne donc TOUTES les applications !

    A ne pas confondre avec la machine virtuelle, qui correspond à l'environnement d'exécution des applications Java, ni avec le Garbage Collector qui alloue et gère lui-même la mémoire de l'application...

    a++
    c'est pas ce que j'ai dit ?? la mémoire de la VM rentre dans le cadre la mémoire globale, non ??
    "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

  18. #1198
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    c'est pas ce que j'ai dit ?? la mémoire de la VM rentre dans le cadre la mémoire globale, non ??
    Pas la mémoire de la JVM : la mémoire de TOUTES les applications quel que soit le langage...

    En te lisant tu sembles pointer la JVM comme fautif sur ce problème spécifique

    Bref le problème que tu cites n'est pas lié à Java... on est en plein hors-sujet !

    a++

  19. #1199
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    C'est absolument n'importe quoi la !

  20. #1200
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 26
    Points : 24
    Points
    24
    Par défaut On dit ici des énormité ....
    Citation Envoyé par adiGuba Voir le message
    Non non et non : la mémoire virtuelle est géré par le système d'exploitation, et concerne donc TOUTES les applications !

    A ne pas confondre avec la machine virtuelle, qui correspond à l'environnement d'exécution des applications Java, ni avec le Garbage Collector qui alloue et gère lui-même la mémoire de l'application...

    a++
    Le garbage collector n'alloue ni ne gère la mémoire de l'application.....

    c'est n'importe quoi !!!
    Reprenons :

    - La VM Java S'occupe de la gestion de la mémoire de l'application JAVA qui est éxécutée entre autres mais fait beaucoup d'autre chose....

    - Le Garbage collector s'occupe de libérer de la mémoire les objet inutilisé de l'application.

    - La mémoire virtuelle c'est de la mémoire qui n'en n'est pas : c'est à dire une partie de ton disque dur (en général mai ça peut être autre chose) que windows/Linux utilise pour stocker le contenu de ta RAM qui n'est pas utilisé à un instant précis dans le cas ou une application demande de la RAM et que la quantité de Mémoire Physique disponible atteint un certain seuil. c'est l'inverse de la mémoire cache, c'est a dire une partie de ta RAM dans laquelle le système va stocké des données du disque dur.

    - La Memoire Globale du system c'est la somme de la mémoire Physique et de la mémoire virtuelle.

    - les applications de ne gére pas la mémoire virtuelle, c'est le systeme qui décide à un moment de mettre telle ou telle partie de la RAM en memoire virtuelle pour telle ou telle raison.


    Remettons les choses à leur places....

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