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. #121
    Membre chevronn�
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Par d�faut
    Merci beaucoup pour cette pr�cision VisualCBien2 ( je vais pouvoir critiquer Java encore plus )!!
    attention car ca �tre de la critique...

    Java et les autres outils associ�s c'est tr�s bien.....tr�s bien...s'il faut un compilateur C++ pour pouvoir en tirer profit..!
    A titre de comparaison , c'est comme si on achetait une voiture et qu'il faudrait une autre voiture pour pi�ces pour pouvoir rouler avec la premi�re !
    Waaa..Tu viens de tuer tout le monde avec cette comparaison. Je vais m'empresser de r�cup�rer gcc pour recompiler le projet J2EE de 12000 classes sur lequel je travaille...

    rien ne t'emp�che de r�aliser un programme enti�rement en java, ou en c++ et java grace JNI. En quoi cela d�nature le langage java? Je rappelle que java peut est tr�s utile pour le scripting.

    un exemple d'application enti�rement java, dont la complexit� n'a rien � envier � StarOffice : Eclipse (www.eclipse.org).

    On est libre d'utiliser l'environnement de d�veloppement de son choix....
    oui c'est pas la m�me chose de dire que c'est pas possible en java, .NET ou delphi, nuance...

    quel int�r�t et quelle pertinence de d�velopper un outil logiciel sur mesure pour une soci�t� ??
    et quel est l'int�r�t et la pertinence d'une telle question dans ce d�bat c++/java car avec les produits windows on peut faire du sur-mesure �galement.
    Mais je vais te r�pondre qq m�me: une soci�t� va demander un outil de gestion adapt� � son entreprise, sp�cifique � son m�tier. Lui procurant une valeur ajout�e suppl�mentaire par rapport � un logiciel du commerce. De plus la plupart des projets en java concerne la mise au point d'une appli web distribu�e. Tu en connais bcp dans le commerce?
    Bref une soci�t� qui demanderait un logiciel de traitement de texte factur� 100K�, qui n'arriverait pas � faire le quart de la moiti� de Word avec le double de bug si possible, j'y crois pas trop...

  2. #122
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Par d�faut
    [qote]
    i = i+1 et i+=1 ne sont s�mantiquement pas la m�me chose. puisque dans un cas c'est une affectation, dans l'autre une incr�mentation. Ca n'a pas le m�me sens. Et pour allez plus loin, en java pour incr�ment�, tu est oblig� d'avoir affect� une valeur avant. Ce qui est + strict s�mentiquement.
    [/quote]
    Tu compte convaincre qui avec �a ?
    et
    ont exactement le m�me effet donc les m�mes dangers.
    Le second est simplement une optimisation du premier.
    Alors pourquoi Java refuse le premier et accepte le second ? Parcequ'il � �t� con�u par des
    d�butants qui n'ont pas compris que leur mani�re de traiter les conversions introduisait
    des distortions s�mantiques dans le langage.


    en c++, on peut faire tout ca, pas en java :

    char s;
    int i = (int)&s;

    float *pf;
    int *pi = (int *)pf;

    class A{};
    A a;
    void * p = &a;

    const int a;
    int *pa = &a //warning seulement
    pa = const_cast<int *> &a //pas de warning
    Et bien voici ce que je m'attendais � lire.
    Tous les exemples qui tu cites utilise un cast ou un pointeur qualifi� de "universel".
    En c++ comme en Java, utiliser un cast indique au compilateur que le programmeur
    prend le controle du typage.
    Un langage peut �viter de t'assassiner par derri�re, mais il ne peut
    pas t'emp�cher de te suicider !

    Voici les fa�ons �quivalentes de te suicider en Java.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    int i = (int)( 1./3.) ;  // r�sultat == 0
    X x = new X() ;
    Y y = new Y() ;  // Y n'h�rite pas de X
    x = (X) y ;
    Et ne viens surtout pas me dire que tu obtiens une exception dans le dernier cas
    et que tu vas la traiter. Quel traitement vas tu entreprendre gros malin ?

  3. #123
    Membre chevronn�
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Par d�faut
    Gr�gory Picavet a �crit:
    Le parcours d'un Vector avec Enumeration est plus rapide que celui d'un Arraylist avec Iterator (cf message pr�c�dent)

    En voila la preuve :


    Et bien, je suis content pour lui.
    En C++ on ne se pose pas ce genre de question, mais je
    te rappelle que le sujet c'�tait la comparaison C++ Java.
    Utilise le conteneur que tu veux, mais montre moi un code STP.
    bon apparemment tu n'as pas bien lu le message, je vais donc le r�sum�:
    la classe Vector est toujours la pour garantir la compatibilit� du code. Sun l'a adapt� � l'interface List pour essayer de rendre coh�rent le package Collection. Mais dans un nouveau programme, il vaut mieux utiliser ArrayList avec get() et non iterator pour le parcours.


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ArrayList a  = new ArrayList&#40;&#41;;
    
    Collection c = a;
    
    Iterator i = c.iterator&#40;&#41;;
    while&#40;i.hasNext&#40;&#41;&#41; &#123;
     i.next&#40;&#41;;
    &#125;
    
    for&#40;int i=0;i<a.size&#40;&#41;; ++i&#41; &#123;
     a.get&#40;i&#41;;
    &#125;
    dans le deuxi�me cas comme on a le choix, il vaut mieux utiliser get... car c'est deux foix plus rapide...(pas de polymorphisme, pas de verification de concurrence)

    Iterator n'est utile que pour decoupler le type de conteneur et la mani�re dont on le parcoure...

  4. #124
    Membre chevronn�
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Par d�faut
    Voici les fa�ons �quivalentes de te suicider en Java.
    Code:

    int i = (int)( 1./3.) ; // r�sultat == 0
    X x = new X() ;
    Y y = new Y() ; // Y n'h�rite pas de X
    x = (X) y ;



    Et ne viens surtout pas me dire que tu obtiens une exception dans le dernier cas
    et que tu vas la traiter. Quel traitement vas tu entreprendre gros malin ?
    WARF WARF si t'avais compil�, gros malin tu aurais obtenu cette erreur :

    test.java:18: inconvertible types
    found : Test.Y
    required: Test.X
    x = (X) y;
    ^
    1 error


    bref pour reprendre tes propos, c'est en c++ que tu te suicides pour le coups...

    ont exactement le m�me effet donc les m�mes dangers.
    peut-�tre, mais ne confond pas affectation et incr�mentation

    les instructions assembleur g�n�r�es (ou le bytecode) ne font pas intervenir les meme op�rateur

    //i=i+1
    mov eax,i
    add eax,1
    mov i,eax // c'est la ou ca casse si i est de type incompatible

    //i+=1
    mov eax,i
    inc eax

    je ne m'attends pas � ce que tu comprennes de toute facon

  5. #125
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Par d�faut
    Citation Envoy� par Gr�gory Picavet
    Voici les fa�ons �quivalentes de te suicider en Java.
    Code:

    int i = (int)( 1./3.) ; // r�sultat == 0
    X x = new X() ;
    Y y = new Y() ; // Y n'h�rite pas de X
    x = (X) y ;



    Et ne viens surtout pas me dire que tu obtiens une exception dans le dernier cas
    et que tu vas la traiter. Quel traitement vas tu entreprendre gros malin ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    WARF WARF si t'avais compil�, gros malin tu aurais obtenu cette erreur &#58;
    
    &#91;i&#93;test.java&#58;18&#58; inconvertible types
    found   &#58; Test.Y
    required&#58; Test.X
            x = &#40;X&#41; y;
                    ^
    1 error&#91;/i&#93;
    Tu as raison j'aurais du compiler. :-)
    Voici ce que j'aurais du �crire.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
        	X x = new X() ;
            Y y = new Y() ;
            Object k = x ;
            
            y = (Y)k ; // CRASH
    Ca compile fort bien et c'est une situation dans laquelle on se retrouve tr�s souvent
    en Java car on y est oblig� :
    Chaque fois qu'on utilse un conteneur par exemple, les objets m�moris�s
    n'ont plus de s�mantique propre : ce sont desObjects, qui est le void*
    de Java.
    Pour les utiliser, on doit les "down-caster" et l� plus aucun filet
    ou le code est juste, ou �a plante ... A l'ex�cution.

    Les conteneur de Java ne sont pas typ�s, contrairement
    a ceux qu'offre la STL.
    D�cid�ment, je vous trouve singuli�rement contre productifs
    pour Java ces temps-ci.

    ont exactement le m�me effet donc les m�mes dangers.
    peut-�tre, mais ne confond pas affectation et incr�mentation
    Tu as r��ellement l'art de changer de sujet au moment ou �a devient d�licat
    j'ai bien pris la pr�caution de dire "m�me effets"
    Et l'effet, c'est que la gestion des conversions faite par Java est
    trou�e comme une passoire.

    Pour le reste, je te remercie de ton cours, mais ayant d�j� �crit un compilateur
    je m'en passe sans probl�me.

  6. #126
    Expert �minent
    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
    Billets dans le blog
    1
    Par d�faut
    Salut,

    D�sol� de me m�ler � la discution.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    X x = new X&#40;&#41; ; 
    Y y = new Y&#40;&#41; ; 
    Object k = x ; 
            
    y = &#40;Y&#41;k ; // CRASH
    Il y a bien une exception qui est lev� � l'ex�cution: ClassCastException
    Si tu aurais executer ton code tu l'aurais vu...

    De plus tu peux m�me faire un:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    if (k instanceof Y)
    	y = (Y)k;
    Chaque fois qu'on utilse un conteneur par exemple, les objets m�moris�s
    n'ont plus de s�mantique propre : ce sont desObjects, qui est le void*
    de Java.
    Le void* du C++ est bien plus dangereux que les Object de Java.
    En Java, quel que soit le type dans lequel ils ont �t� cast�, les Object gardent toutes leurs propri�t�es.
    Je ne pense pas que ce soit le cas en C++, mais je peux me tromper cela fait longtemps que je n'ai pas fait de C++.

    a++

  7. #127
    mat.M
    Invit�(e)
    Par d�faut
    Tout ceci n'est qu'un ramassis de querelles d'apothicaires ou d'�tudiants en informatiques � peine sortis de leur scolarit�.
    Cela ne vole pas haut.

    D�montrer qu'une exception soit g�n�r�e parce que ceci cela...ou parce qu'en C++ on utilise un pointeur non initialis� c'est bien !
    Que pour calculer 10000 it�rations sur des listes ,Java soit plus rapide certes.
    Mais qu'en est-il de la gestion d'un projet ENTIEREMENT fait en Java genre client/serveur pour une banque par exemple ou pour un client qui va facturer des prestations ??
    Je n'ai jamais pris part � un tel projet alors oui ou non est-ce que cela vaut la peine ?


    Waaa..Tu viens de tuer tout le monde avec cette comparaison. Je vais m'empresser de r�cup�rer gcc pour recompiler le projet J2EE de 12000 classes sur lequel je travaille...
    Personne n'a fait allusion � la remarque que j'avais faite pr�cedemment.
    Quand est-il de Java et interface utilisateur ??
    Tes 12000 classes c'est bien mais y-at-il de la gestion de contr�les , de connexions , d'E/S je ne sais quoi ,la-dedans ?

  8. #128
    Expert �minent
    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
    Billets dans le blog
    1
    Par d�faut
    Citation Envoy� par addicted_to_MFC
    Tout ceci n'est qu'un ramassis de querelles d'apothicaires ou d'�tudiants en informatiques � peine sortis de leur scolarit�.
    Cela ne vole pas haut.

    D�montrer qu'une exception soit g�n�r�e parce que ceci cela...ou parce qu'en C++ on utilise un pointeur non initialis� c'est bien !
    Je suis tout a fait d'accord avec toi.
    Je n'ai pas voulut montrer que Java est meilleur que C++ parce qu'il gere mieux les exceptions.
    J'ai seulement voulut r�pondre � ++gib.


    Citation Envoy� par addicted_to_MFC
    Mais qu'en est-il de la gestion d'un projet ENTIEREMENT fait en Java genre client/serveur pour une banque par exemple ou pour un client qui va facturer des prestations ??
    Je n'ai jamais pris part � un tel projet alors oui ou non est-ce que cela vaut la peine ?
    Je ne voit pas ce qu'a a voir le langage la dedans: C'est de la gestion de projet.
    Si le projet est mal g�r�, cela n'a rien a voir avec le langage...


    Citation Envoy� par addicted_to_MFC
    Personne n'a fait allusion � la remarque que j'avais faite pr�cedemment.
    Quand est-il de Java et interface utilisateur ??
    Tu as d�j� eu une r�ponse:
    Citation Envoy� par Gr�gory Picavet
    Citation:
    Neanmoins, simplement pour l'info, est-ce que Java sait faire cela?

    Bien sur, pourquoi cela ne serait possible qu'avec MFC et c++?
    Ce n'est pas parceque Java est principalement utilis� en service web qu'on ne peut pas cr�� d'IU.
    Les composants Swing te permettent de cr�er n'importe quel �lement standard dans les IU actuelles...

    Citation Envoy� par addicted_to_MFC
    Tes 12000 classes c'est bien mais y-at-il de la gestion de contr�les , de connexions , d'E/S je ne sais quoi ,la-dedans ?
    Non je suis sur qu'il s'est amus� a faire plein de classe qui se contente d'afficher Hello World sur la console...
    Sans rire, pourquoi ce ne serait pas possible en Java ???


    Citation Envoy� par addicted_to_MFC
    Donc Star office en Java... C'est pour ca que sur le site de http://www.openoffice.org, il recommande d'avoir Microsoft Visual C++ comme compilo ?
    Merci beaucoup pour cette pr�cision VisualCBien2 ( je vais pouvoir critiquer Java encore plus )!!

    Java et les autres outils associ�s c'est tr�s bien.....tr�s bien...s'il faut un compilateur C++ pour pouvoir en tirer profit..!
    Je ne voit pas en quoi cela pose probl�me ?
    Ils utilisent � la fois Java et C++ (je te rappelle qu'il faut egalement le JDK pour compiler )
    Ils utilisent tous les outils qui sont � leurs disposition.
    C'est surement vrai qu'un code C++ bien optimis� soit plus rapide qu'un code Java optimis� dans certain domaine sp�cifique. Mais je reste persuad� que dans bien des cas la diff�rence est minime, et que l'utilisation d'un langage par rapport � l'autre peut me simplifier la tache...


    Citation Envoy� par addicted_to_MFC
    ( je vais pouvoir critiquer Java encore plus )
    Citation Envoy� par addicted_to_MFC
    Cela ne vole pas haut.
    Je ne te le fais pas dire...

  9. #129
    Membre chevronn�
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Par d�faut
    Tout ceci n'est qu'un ramassis de querelles d'apothicaires ou d'�tudiants en informatiques � peine sortis de leur scolarit�.
    Cela ne vole pas haut.
    effectivement cela reste tr�s bas niveau, il faudrait clairement exprimer dans ce d�bat les cas o� il est int�ressant de d�velopper en c++ et les cas o� il vaut mieux utiliser java. De mani�re objective et pas en affirmant simplement que "java c'est plus lent que le c++ pour le calcul d'aire d'un polygone sachant que tu es oblig� de faire 9*10^8 allocations dynamiques sinon c'est pas objet" cf ++gib. Ce que ++gib veut nous faire avaler, c'est que c++ est un langage coh�rent dix fois plus rapide que java . Oui Java est plus lent que c++ tout le monde est d'accord pour le dire, moi le premier. Java est dix foix plus lent et occupe bien trop de m�moire pour un simple test que celui de ++gib, mais ++gib s'entete � nous dire que ce n'est pas objet si tu programmes pas comme lui en java....passons. mais si c++ proposait � la base tout les services que propose la plate-forme java, vous ne croyez pas que les performances seraient d�grad�es? L'objectif de java ce n'est pas de concurrencer le c++ sur les performances, mais si vous comprenez un tant soi peu la logique du langage, et la facons de r�fl�chir en java, vous obtiendrez des performances comparables au c++. Faire du java, ce n'est pas faire du c++. 9*10^8 allocations durant le test, quand j'y repense, il faut oser....sachant qu'un point = 3*8octets, la m�moire utilis�e serait de 2Go!!! comme la machine virtuelle fonctionne avec 64Mo � la base, imaginez le garbage collector perdant son temps � allouer/d�sallouer...bravo ++gib, ce programme est destin� � tester le garbage collecor, ha ha

    La plateforme java c'est : un langage s�curis� (dont la granularit� de s�curit� est au niveau des m�thodes), dont le code ex�cutable est portable sans prendre de librairie particuli�re pour l'OS, simple � utiliser, disposant d'un ensemble de librairies coh�rentes et simples � int�grer dans un projet.

    Mais qu'en est-il de la gestion d'un projet ENTIEREMENT fait en Java genre client/serveur pour une banque par exemple ou pour un client qui va facturer des prestations ??
    Je n'ai jamais pris part � un tel projet alors oui ou non est-ce que cela vaut la peine ?
    C'est le type de projet adapt� � la plateforme java Entreprise Edition (J2EE).
    Dans j2EE, tu programmes des composants serveurs appel�s EJB. Ces EJB sont d�ploy�s sur un serveur d'application qui fourni un conteneur d'EJB permettant de g�rer leur cycle de vie, et fournie des services techniques standardis� de mani�re totalement transparente et param�trable. Tu te soucies uniquement de la logique m�tier lorsque tu codes un EJB.
    Les services techniques sont : l'acc�s aux donn�es, la gestion des transactions, la reprise apr�s panne, un service d'annuaire performant (JNDI), un protocole totalement int�rop�rable RMI-IIOP (corba), etc...

    Les serveurs d'applications peuvent faire parti d'un cluster permettant ainsi une haute disponibilit� et une grande tol�rance aux pannes. La gestion de cluster la encore tr�s simple.

    cot� client, il est possible de r�aliser l'application en swing (client lourd) ou avec des JSP et un moteur de servlet int�gr� dans le serveur d'application (client l�ger).

    Les performances sont excellentes par contre je ne les ai jamais compar�s avec IIS, COM, ASP etc... de Microsoft (si quelqu'un a travaill� sur les deux plateforme, peut-il me dire quels sont les avantages et les inconv�nients svp)?

  10. #130
    Membre habitu�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 14
    Par d�faut
    Tu ferais mieux d'arr�ter, tu es en train de dire � tout le monde que:
    Code:
    POUR OBTENIR DES PERFORMANCES CORRECTES EN JAVA
    -On ne doit surtout pas programmer en objet
    -On doit g�rer un maximum de ressources (pools, caches etc)
    soi-m�me � la main.


    Je suis assez d'accord avec ce point de vue,
    mais �a semble assez contre-productif pour Java.
    Ce n'est pas du tout ce que je dit... Mais effectivement je vais arr�ter l� car je commence en avoir assez du discuter avec un vieux disque ray�...

  11. #131
    Membre actif

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Par d�faut Ce que j'en dis...
    Je d�veloppe des applications JAVA de type GUI, souvent en CLIENT/SERVEUR, et ce sont des logiciels r�pondant � un besoin particulier et sp�cifique aux clients auquel il est destin�.

    Alors je ne vais pas faire de citation, ni r�ouvrir un grand d�bat, mais dire ce qu'il en est (pour ma part) :

    - C++ est n�cessairement plus rapide que JAVA , tout le monde le sait, c'est INUTILE DE CONFRONTER DES LIGNES DE CODE !.

    - JAVA n'est pas pour autant atrocement lent, il suffit de connaitre un peu l'API pour pouvoir "acc�l�rer" le programme de 300% sans rien changer � l'architecture, juste savoir qu'il vaut mieux utiliser un Array dans certains cas plutot qu'un Vector, ou un StringBuffer plutot qu'un String...etc.

    - dire que java est 2 fois plus lent ou 10 fois ne rime � rien, les �carts de performances seront radicalement diff�rentes selon les types d'applications r�alis�es.

    - Seulement les appli JAVA seront certes plus lentes, mais plus rapidement d�velopp�es, plus s�res (il est dur en JAVA de g�n�rer accidentellement des fuites de m�moire), plus faciles � debogguer (code plus lisible et gestion des exceptions par la JVM) et plus portables

    - Des grosses applications sont programm�es ENTIEREMENT en JAVA, et elles tournent tres bien (� partir des pentium 500 et 64Mo de ram, sinon il faut reconnaitre que c'est trop lent, la JVM a son prix en termes de performances):
    - le framework de d�veloppement eclipse a d�j� �t� plusieurs fois cit� (Vous devriez vous y interresser, c'est un outil tr�s puissant)
    - JBuilder (pas besoin de le pr�senter)
    - Netbeans (que j'utilise) et SUN one studio (m�me architecture)
    - outre ces IDE, le nouveau syst�me de s�curit� sociale au Br�sil est r�alis� en JAVA!!!!!


    - Les v�ritables d�fauts de JAVA (� mon avis) sont :
    - pas de vraie g�n�ricit� ( je crois sans trop m'avancer, que c'est pr�vu pour la version 1.5) du coup les conteneurs g�n�riques sont en fait des conteneurs d'objets et obligent un down-casting...
    - pas d'�num�rations, pas tr�s g�nant mais frustrant, mais c'est �galement pr�vu pour la verson 1.5.
    - pas d'h�ritage multiple, mais un syst�me d'interface qui permet une grande simplification conceptuelle, mais qui � contrario est un peu limitatif... Ce n'est pas p�nalisant outre mesure, les interfaces fournissant quelque chose de plus simple et de plus souple sur la gestion, d'un d�veloppement que les h�ritages multiples du C++.

    Sa lenteur est relative, et comme il s'agit un langage destin� � �tre �x�cut� sur une machine virtuelle, elle est in�vitable, mais le d�bat n'est pas l�... Si on recherce les performances pures on programme en C++, en C ou m�me en assembleur.

    A noter que JAVA commence � supporter la 3D ( GL4J , JAVA3D , OPALE) de fa�on plus que satisfaisante (acc�l�ration matrerielle et tout).



    Et moi, pourquoi j'utlise JAVA??

    J'utilise JAVA pour le d�veloppement avec SWING, pourquoi? Parce que l'API JAVA est tr�s bien con�ue, qu'elle est portable (mes developpements sont destin�s � la fois � windows2000 et AIX), et surtout que � d�veloppement �gal programmer en JAVA me prend presque 2 fois moins de temps qu'en C++ (API standardis�e, structure orient� objet du langage efficace), et surtout les tests et les debuggages me prennent encore moins de temps, ceci gr�ce � la gestion des exceptions de la JVM (on a beau avoir des beaux algorithmes, quelquefois une petite erreur de frappe se glisse dans une �valuation), alors qu'en C++ on pourrait passer des journ�es � chercher pourquoi tout plante alors qu'un petit '<=' s'est gliss� � la place d'un '<' dans le trfond du code d'une petite fonction anodine peu usit�e.
    NB : la panoplie de widgets dans SWING est tr�s compl�te, souple, et tr�s simple � utiliser.

    Conclusion :
    JAVA meilleur que C++??
    Certainement pas, mais � moins de d�velopper une grosse application dans un gros projet, il permet de d�velopper des appli plus rapidement (donc � moindre co�t) et plus portables. A chacun son r�le.
    Le d�bat JAVA/C++ n'a aucun sens.

    Enfin en termes de performances, la vraie question est l�: la machine virtuelle de microsoft .NET destin�e aux appli .NEt permet elle d'avoir des performances sup�rieures � JAVA avec la JVM???
    Idem pour les d�lais de developpment, la portabilit�, la s�curit�, ...etc.
    Je vous invite � y confronter vos lignes de codes puisque vous aimez �a, car l�, la comparaison est cens�e.