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. #541
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Citation Envoyé par kpouer
    Ca reste moins portable que java puisque tu dois compiler ton soft pour les différents OS alors qu'un soft java fonctionnera naturellement sur tous les OS.
    Rien n'est moins évident dans la vie réelle.

    Citation Envoyé par kpouer
    Ca n'a l'air de rien, mais moi j'ai pas un FreeBSD ou un Mac chez moi pour compiler dessus par exemple au moins avec Java je n'ai pas ce soucis.
    De plus la vitesse c'est très relatif, dans une application cliente, dans 90% des cas si elle est bien programmée en java ou en c++ on verra aucune différence car le facteur limitant c'est l'utilisateur.
    De la même manière, dans ma boîte, beaucoup de concurrents ont des difficultés à cause de Java qui demande des ressources énormes. En C/C++, on a vraiment une solution adaptée à nos besoins tout en gardant une excellente capacité de production.

    Citation Envoyé par kpouer
    C'est difficile a juger sans connaitre le contexte, mais si tu prend 40 Mo en Java alors que tu penses qu'en c++ tu prendrais que 5 Mo, c'est probablement qu'il y a des choses a optimiser dans ton dev java. Pour ma part je travaille sur un serveur en java qui recoit des paquets UDP (des centaines par seconde), les décode, effectue des traitements, en réémet, tout en étant un serveur sur lequel des clients peuvent se connecter pour récolter divers informations, et ca prend ptet 5 Mo.
    Ok. Personnellement, je parle d'une grosse application de gestion qui gère la base de données, l'interface multi-utilisateurs et divers périphériques. Avec libxml2, Qt4, Curl & co, ça gère nickel.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  2. #542
    Membre à l'essai
    Profil pro
    Expert technique
    Inscrit en
    Mai 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Mai 2005
    Messages : 13
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par super_navide
    Il est incontestable que java est bcp mieux que c++ car il es plus équilibré
    Alors pourquoi il reste encore tant de développeurs C++? Masochisme ou pure stupidité? J'aimerais bien avoir ton avis là-dessus...
    Pour la portabilité, le C++ est portable à la compilation, tandis que le JAVA est portable à l'exécution. La portabilité du C++ ne m'a jamais posé de problème. Pour ceux qui veulent compiler leurs projets sous pleins de plateformes, les machines virtuelles existent.
    Quant aux API externes pour les threads, c'est justement ce qui me plait avec le C++ : pour une fonctionnalité, on a généralement le choix entre un paquet de librairies. Suffit de regarder juste pour les GUI, entre Qt, wxWidgets, .NET, gtk et j'en passe...

    PS : j'utilise les 2 langages à part égale, ça dépend juste du but du programme...

  3. #543
    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 orelero
    Pour java il me semble que tu peux choisir entre un mode totalement interprété comme c'était le cas dans les anciennes versions (1.2 ?)

    exact... avec l'option -Xint

    Citation Envoyé par orelero
    et un mode compilé (JIT) qui optimise le code à la volée selon l'environement (dans certains cas, paraît que les perfs sont meilleurs qu'en C++) ce qui restera strictement impossible avec le C++.
    vrai également... sauf qu'il faut signaler une restriction, le JIT fait des optimisations locales seulement (car peu couteuses), qui selon le contexte (environnement n'est pas le terme approprié, en théorie des langages ce mot a un sens bien précis ), peuvent permettre de faire des optimisations impossible a priori en compilation classique (opposition analyse dynamique couteuse au run-time et précise vs analyse statique sans surcharge du run-time mais moins précise)

    en revanche C++ peut effectuer des optimisations globales qui sont impensables avec le JIT... énorme détail qui a été omis dans ton aparté (volontairement ou par ignorance, telle est la question )
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  4. #544
    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 FloMo
    Rien n'est moins évident dans la vie réelle.
    Je prend un cas que je connais bien : jEdit. On le compile sous linux, et il fonctionne aussi bien sous Mac que Windows en plus de linux. La seule raison pour laquelle on aurait besoin de ces derniers OS c'est pour faire des packages d'install spécifiques en plus du classique installeur jar, mais ca n'a rien d'obligatoire. Donc cette portabilité existe bel et bien

    Citation Envoyé par Algueron
    Alors pourquoi il reste encore tant de développeurs C++? Masochisme ou pure stupidité? J'aimerais bien avoir ton avis là-dessus...
    Il y aurait une raison :
    les gens qui connaissent bien un langage n'en changeront déjà que s'ils y sont contraint dans la plupart des cas.
    Cela dit bien qu'adepte de java, je ne crois pas que java puisse remplacer le c++ dans tous les domaines, même si l'étendue de domaines d'utilisation de java augmente régulièrement

    Citation Envoyé par Algueron
    Pour la portabilité, le C++ est portable à la compilation, tandis que le JAVA est portable à l'exécution. La portabilité du C++ ne m'a jamais posé de problème. Pour ceux qui veulent compiler leurs projets sous pleins de plateformes, les machines virtuelles existent.
    Ca reste plus contraignant et long. Quand tu veux distribuer un logiciel t'as pas obligatoirement envi d'installer tous les OS, et tous les OS ne sont pas dispo en machines virtuelles : Mac OS pour n'en citer qu'un.
    Et même en dehors de ca, il suffit de voir que la plupart des logiciels pour Windows sont totalement spécifiques a Windows et ca m'étonnerai que ce soit uniquement par fidélité a Microsoft. En c++ si on veut de la portabilité il faut y penser dès le début du développement

  5. #545
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par kpouer
    il suffit de voir que la plupart des logiciels pour Windows sont totalement spécifiques a Windows et ca m'étonnerai que ce soit uniquement par fidélité a Microsoft. En c++ si on veut de la portabilité il faut y penser dès le début du développement

    il est évident que si tout le projet utilise Visual Studio et les "classes standards" de Microsoft de manière systématique, cela va poser problème... car M$ a bien fait attention pour que tout ce qui est généré par VS soit incompatible avec le reste

    donc, si l'on veut que ce soit portable, il faut y penser au moment du choix des frameworks et des outils...
    question bête : Java + SWT est-il vraiment 100% compatible immédiatement sous tous les OS où une machine virtuelle Java existe ? la réponse est non, pourtant c'est bien du code Java que tu as dans ton jar...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 259
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par gorgonite
    il est évident que si tout le projet utilise Visual Studio et les "classes standards" de Microsoft de manière systématique, cela va poser problème... car M$ a bien fait attention pour que tout ce qui est généré par VS soit incompatible avec le reste
    donc, si l'on veut que ce soit portable, il faut y penser au moment du choix des frameworks et des outils...
    Exactement, et ca n'a pas l'air si simple parce que les softs multiplateforme écrit en c++ ne sont pas si nombreux que ca, et souvent aussi pas aussi réussi sur tous les OS. Suffit de voir les logiciels a base de GTK sous Windows, c'est la catastrophe par exemple. Donc on confirme que le multiplateforme c++ est autrement moins évident qu'en Java

    Citation Envoyé par gorgonite
    question bête : Java + SWT est-il vraiment 100% compatible immédiatement sous tous les OS où une machine virtuelle Java existe ? la réponse est non, pourtant c'est bien du code Java que tu as dans ton jar...
    Probablement pas, c'est pourquoi je suis totalement contre SWT qui va a l'encontre du concept de java. Et qui de plus selon moi n'apporte pas grand chose de bon

  7. #547
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par kpouer
    Probablement pas, c'est pourquoi je suis totalement contre SWT qui va a l'encontre du concept de java. Et qui de plus selon moi n'apporte pas grand chose de bon

    j'étais pas trop contre à l'époque où swing était encore moche, gourmand en mémoire et peu performant... mais depuis la jdk v1.5 ça s'est amélioré, et SWT n'a plus trop de raisons d'être, surtout sous linux, où il dépend beaucoup trop des choix de ta distrib gtk, qt, xlib & cie
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #548
    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 Algueron
    Alors pourquoi il reste encore tant de développeurs C++? Masochisme ou pure stupidité? J'aimerais bien avoir ton avis là-dessus...
    Pour la portabilité, le C++ est portable à la compilation, tandis que le JAVA est portable à l'exécution. La portabilité du C++ ne m'a jamais posé de problème. Pour ceux qui veulent compiler leurs projets sous pleins de plateformes, les machines virtuelles existent.
    Quant aux API externes pour les threads, c'est justement ce qui me plait avec le C++ : pour une fonctionnalité, on a généralement le choix entre un paquet de librairies. Suffit de regarder juste pour les GUI, entre Qt, wxWidgets, .NET, gtk et j'en passe...

    PS : j'utilise les 2 langages à part égale, ça dépend juste du but du programme...

    Il y a une explication toute simple quand on a l'habitude d'un langage et ben on a un peut de mal en changé.
    Après il ne faut pas se mentir a sois même C++ deviendra de moins en moins utilisé pour de nouveaux projets.
    Moi je pense que le couple C+Java plus puissant que le C++.
    Mais attention je dis pas qu'il faut pas apprendre le C++, au contraire il permet de voir la plus valu qu'apporte java.

    Après il faut savoir que de changer de langage pour un logiciel a un coup énorme pour une entreprise.
    Donc souvent on garde ce qui existe et on adapte ce qui me semble une très bonne stratégie , on ne change pas une équipe qui gagne pour faire jolie ou tendance.

  9. #549
    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 super_navide
    Mais attention je dis pas qu'il faut pas apprendre le C++, au contraire il permet de voir la plus valu qu'apporte java.

    pas d'accord du tout...
    Java n'apporte pas une plus value particulière par rapport à C++, aussi bien d'un point de vue conceptuel que pédagogique... c'est d'ailleurs pour cela que beaucoup d'écoles préfèrent rester sur le C++ plutôt que d'enseigner le Java.
    (certains repassent au C++, car le modèle C++ est plus complet que celui de Java, et la transition C++ -> Java ou C# est bien plus aisée que l'inverse )

    par ailleurs, juste une petite question : à ton avis, quel ordre de logique peut-on atteindre avec C++ ? et avec Java ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  10. #550
    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 gorgonite
    pas d'accord du tout...
    Java n'apporte pas une plus value particulière par rapport à C++, aussi bien d'un point de vue conceptuel que pédagogique... c'est d'ailleurs pour cela que beaucoup d'écoles préfèrent rester sur le C++ plutôt que d'enseigner le Java.
    (certains repassent au C++, car le modèle C++ est plus complet que celui de Java, et la transition C++ -> Java ou C# est bien plus aisée que l'inverse )

    par ailleurs, juste une petite question : à ton avis, quel ordre de logique peut-on atteindre avec C++ ? et avec Java ?

    Le Meta model en lecture et partielement en ecriture est un plus par rapport a c++.
    Le system d'Annotation aussi...
    Moi a l'école j'ai appris Smalltalk et le C , j'ai eu aucun mal a aprendre le C++ ensuite et notament java

    C'est quoi ordre Logique ???

  11. #551
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    Citation Envoyé par gorgonite
    exact... avec l'option -Xint
    en revanche C++ peut effectuer des optimisations globales qui sont impensables avec le JIT... énorme détail qui a été omis dans ton aparté (volontairement ou par ignorance, telle est la question )
    Par ignorance on va dire mais je ne l'ai pas inventé,...C'est juste que certains sites où je l'ai lu ça doivent être douteux . Ne connaissant pas vraiment le C++ c'est vrai que je n'aurai pas dû m'aventurer à répéter ce qui semble être des bétise.
    Par contre j'aimerai juste avoir plus de détails sur ces optimisations globales en C++, je serais curieux de savoir comment ça peut fonctionner.

    Pour ce qui est de l'optimisation globale en Java, le fait qu'il y ait la possibilité de charger des classes dynamiquement rend la chose trés difficile donc ce n'est pas le fait que ça soit coûteux je pense . Pour surmonter l'aspect dynamique de Java, je crois que l'hotspot désoptimise certains blocs s'il y a modification de méthodes etc, pour le réoptimiser ensuite.
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  12. #552
    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 super_navide
    Le Meta model en lecture et partielement en ecriture est un plus par rapport a c++.

    précises ta pensée... une affirmation dans l'absolue ne vaut rien à mes yeux.


    Citation Envoyé par super_navide
    Moi a l'école j'ai appris Smalltalk et le C , j'ai eu aucun mal a aprendre le C++ ensuite et notament java
    perso, j'ai appris le C, le C++ et le Java avant de le voir à l'école... en revanche, la transition C++ -> Java a été très facile, alors que je connais des personnes qui ont étudié le Java à l'école, puis qui ont du mal à faire la transition vers C++

    Citation Envoyé par super_navide
    C'est quoi ordre Logique ???
    un ordre logique, ça devrait t'éclairer http://fr.wikipedia.org/wiki/Logique...sup%C3%A9rieur
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  13. #553
    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 gorgonite
    précises ta pensée... une affirmation dans l'absolue ne vaut rien à mes yeux.




    perso, j'ai appris le C, le C++ et le Java avant de le voir à l'école... en revanche, la transition C++ -> Java a été très facile, alors que je connais des personnes qui ont étudié le Java à l'école, puis qui ont du mal à faire la transition vers C++



    un ordre logique, ça devrait t'éclairer http://fr.wikipedia.org/wiki/Logique...sup%C3%A9rieur
    Ok l'ordre logique je comprend , c'est une question très intéréssente.
    Je dirait avec C++ ordre 0
    tu peut pas exprimer de predicat
    En Java je dirait ordre 0 mais discutable ordre 1 acceptable en étant gentil a cause des classes interne
    En smalltalk ordre 3
    example
    [:a :y | ( a isReel & y isReel ) => [:m | m isReal &( m> a )& (m < y ] exist ] all
    [:f | f estFonctionPositive <=> [:a | ( f value:a ) >=0 ] all] all

    On remarque que smalltalk permet de manipuler des expressions mathématique avec aisance.

  14. #554
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    précises ta pensée... une affirmation dans l'absolue ne vaut rien à mes yeux.
    Je pense qu'il parle des mécanismes d'introspection et partiellement d'intercession qui définissent un modèle réflexif (méta-modèle) accéssible à l'exécution. C'est quelque chose qui n'est pas nativement supporté par le C++ et qui le distingue fortement.

    Ces principes ne sont pas triviaux dans java, ils sont un moyen de réaliser des proxy dynamiques, d'implémenter des traits d'aspect, de relâcher des couplages...

    Java a finallement ceci de remarquable, c'est d'avoir su tirer les bénéfices des langages compilés et interprétés...

  15. #555
    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 Tommy31
    Java a finallement ceci de remarquable, c'est d'avoir su tirer les bénéfices des langages compilés et interprétés...

    tout dépend du point de vue... on pourrait aussi bien dire qu'il a aussi pris les défauts des deux familles

    ce genre de phrase non plus n'a pas de valeur dans une argumentation
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  16. #556
    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 Tommy31
    Je pense qu'il parle des mécanismes d'introspection et partiellement d'intercession qui définissent un modèle réflexif (méta-modèle) accéssible à l'exécution. C'est quelque chose qui n'est pas nativement supporté par le C++ et qui le distingue fortement.

    Ces principes ne sont pas triviaux dans java, ils sont un moyen de réaliser des proxy dynamiques, d'implémenter des traits d'aspect, de relâcher des couplages...

    Java a finallement ceci de remarquable, c'est d'avoir su tirer les bénéfices des langages compilés et interprétés...
    Exactement ca et la C++ il cours toujours après java

  17. #557
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Citation Envoyé par super_navide
    Ok l'ordre logique je comprend , c'est une question très intéréssente.
    Je dirait avec C++ ordre 0
    tu peut pas exprimer de predicat
    En Java je dirait ordre 0 mais discutable ordre 1 acceptable en étant gentil a cause des classes interne
    Je vois pas très bien... Syntaxiquement, tant en java qu'en c++ tu ne peux exprimer que des propositions et des variables, donc logique d'ordre 0 (c'est à dire sans quantificateurs).

    Après il est toujours possible d'exprimer des logiques supérieures en atteignant un méta-niveau, ce que l'on fait très facilement avec des foncteurs, et de façon plus élégante en C++ qu'en Java (template oblige).

  18. #558
    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 Tommy31
    Je vois pas très bien... Syntaxiquement, tant en java qu'en c++ tu ne peux exprimer que des propositions et des variables, donc logique d'ordre 0 (c'est à dire sans quantificateurs).

    Après il est toujours possible d'exprimer des logiques supérieures en atteignant un méta-niveau, ce que l'on fait très facilement avec des foncteurs, et de façon plus élégante en C++ qu'en Java (template oblige).
    Oui mais pour que ton programme fonctionnent il faut qu'il est accés a un binaire qui implémente la notion de variable libre et lié des lambdas expression.
    C'est le cas de Java (mot clef final en java mais avec bcp de limite ) moins avec groovy ( qui est presque du java même byte code ) et de Smalltalk mais pas de C++.

  19. #559
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Citation Envoyé par gorgonite
    tout dépend du point de vue... on pourrait aussi bien dire qu'il a aussi pris les défauts des deux familles

    ce genre de phrase non plus n'a pas de valeur dans une argumentation
    Je justifie.

    Java a un niveau intermédiaire de compilation. Ceci permet quelques galipetes sympathiques comme la génération de code à la volée ou la modification dynamique de classes, chose que des langages comme python ou ruby savent bien faire. Ca ouvre des perspective très intéressante pour l'implémentation de concept tels que la programmation par aspect ou l'optimisation d'algorithmes de calcul.

    En face de ca, il y a quand même les traits des langages compilés, comme la vérification statique de types (renforcée aujourd'hui par les generics).

    Le fait est qu'aujourd'hui, C++ n'évolue plus beaucoup.

  20. #560
    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
    je ne donne pas la réponse tout de suite, mais je signale que Tommy31 a apporté une partie de ce qui pourra composer la réponse en ce qui concerne le C++

    Citation Envoyé par super_navide
    Oui mais pour que ton programme fonctionnent il faut qu'il est accés a un binaire qui implémente la notion de variable libre et lié des lambdas expression.
    C'est le cas de Java (mot clef final en java mais avec bcp de limite ) moins avec groovy ( qui est presque du java même byte code ) et de Smalltalk mais pas de C++.
    bien essayé... mais je parle du langage en natif.

    par ailleurs, soit je n'ai pas saisi la subtilité de ta démonstration soit tu as faux... c++ a aussi dynamiquement accès à des binaires (les dll ?)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

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