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

Affichage des résultats du sondage: Quel est le meilleur des deux langages selon vous ?

Votants
1184. Vous ne pouvez pas participer à ce sondage.
  • Je suis intéréssé par Java et C#

    240 20,27%
  • C#

    377 31,84%
  • Java

    368 31,08%
  • J'apprécie le fait d'avoir l'alternative Java ou C#

    108 9,12%
  • Ni l'un ni l'autre

    36 3,04%
  • Sans opinion

    46 3,89%
  • Autre avis ? (précisez...)

    9 0,76%
C# Discussion :

C# versus Java [Débat]


Sujet :

C#

  1. #161
    Membre habitué Avatar de jerome.fortias
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 164
    Points : 133
    Points
    133
    Par défaut
    Au passage je reviens sur MONO... J'ai essayé ce week-end la dernière version de MonoDevelop sur Ubuntu... Si on fait l'impasse sur la partie winform, MONO est excellent... aprés il faut se taper le boulot des GUI avec GTK, mais sinon c'est nickel et l'import de Solution (.sln) marche trés bien.

    Techniquement et en terme de performance MONO a de la gueule, reste le blocage psychologique d'acceptation du C# sur des serveurs Linux pour le développement d'applications middleware et de backoffice.... Là c'est par contre vachement plus difficile

  2. #162
    wogkiller
    Invité(e)
    Par défaut
    Dans mon entreprise, tout est développé en dotnet, exception faite de quelques projet C++ (ancien en général), sur windows. Une des dernieres affaire sur laquelle on est requière un serveur linux (à la demande du client) sur lequel on doit adapter notre solution logiciel. Doit-on tout refaire en java? Et bien non, on a mis mono sur une suze, et tout tourne parfaitement (a part quelques petit bug vite corrigé).

    Donc maintenant, c'est comme toujours une question de préférence pour des raisons plus ou moins discutable qu'on a choisi de rester en c#, on aurait très bien pu refaire le tout en java (ce qui aurait pris beaucoup de temps tout de même) vous me direz, mais sans garantie de fiabilité vu notre peu de pratique de java

  3. #163
    Invité
    Invité(e)
    Par défaut
    Je dirais le Java, vu que je ne connais pas le C#.

  4. #164
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par wogkiller Voir le message
    Doit-on tout refaire en java? Et bien non, on a mis mono sur une suze, et tout tourne parfaitement (a part quelques petit bug vite corrigé).
    Parfaitement.... après une suze, puis deux, puis.... y'a plus rien qui tourne parfaitement...

  5. #165
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    d'après le lien .NET en moyenne 2 à 3 fois plus rapide que J2EE !
    C# plus performant que Java
    le seul avantage de Java est la portabilité ?
    c qoi ça ? si la comparaison est juste pourquoi on utilise Java donc ?
    c'est périmé ?

  6. #166
    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 imadin Voir le message
    d'après le lien .NET en moyenne 2 à 3 fois plus rapide que J2EE !
    Désolé mais quand je lit qu'ils utilisent le "Java en mode optimisé" avec l'option javac -O je me marre vachement... C'est une option inutilisé depuis la sortie de Java 1.2... en 1998

    Tout cela me fait penser que l'auteur n'a pas forcément les connaissances suffisantes en Java pour comparer les deux langages...


    a++

  7. #167
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par imadin Voir le message
    d'après le lien .NET en moyenne 2 à 3 fois plus rapide que J2EE !
    C# plus performant que Java
    Hé bien oui, et depuis le début.
    N'en déplaise aux fondamentalistes, objectivement .Net est devant en terme de performances et reste devant au fil des versions.
    Par ailleurs, évoluant plus vite que Java, il y a fort à parier que .Net restera devant encore longtemps.

    Citation Envoyé par imadin Voir le message
    le seul avantage de Java est la portabilité ?
    Non, pas seulement.
    On peut cîter un plus grand choix d'outils, des frameworks opensource à foison pour tout et n'importe quoi, une communauté très étendue et un choix de "déclinaisons" plus riche (embarqué, temps réèl...).

    Ces différences se sont très largement réduites, mais il reste encore une différence "philosophique" entre les 2 mondes.
    L'évolution de Java est plus lente mais concertée, alors que celle de .Net est (trop) rapide et du seul fait de Microsoft.

    Citation Envoyé par imadin Voir le message
    c qoi ça ? si la comparaison est juste pourquoi on utilise Java donc ?
    c'est périmé ?
    Excellente question, c'est un mystère pour moi aussi

    Sérieusement, parce que Java était là avant .Net et à fait ses preuves, parce que tout le monde n'est pas sur des plateformes Microsoft et parce que les performances pures ne font pas tout.

  8. #168
    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 Keihilin Voir le message
    N'en déplaise aux fondamentalistes, objectivement .Net est devant en terme de performances et reste devant au fil des versions.
    Tu as une source précise sur le sujet (en dehors du lien ci-dessus qui n'est pas vraiment crédible).

    a++

  9. #169
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Tu as une source précise sur le sujet (en dehors du lien ci-dessus qui n'est pas vraiment crédible).

    et pourquoi ne le serait-il pas ?
    parce que sans explications supplémentaires, la tienne non plus a peu de chance d'être considéré comme valable

  10. #170
    Invité
    Invité(e)
    Par défaut
    d'après le lien .NET en moyenne 2 à 3 fois plus rapide que J2EE !
    C# plus performant que Java
    le seul avantage de Java est la portabilité ?
    c qoi ça ? si la comparaison est juste pourquoi on utilise Java donc ?
    c'est périmé ?[/QUOTE]

    Ce test a été fait avec Java 1.4.1..... Depuis cette verion, y'a quand-même eu des progrès de fait...
    Ce benchmark relativise un peu les propos.

    Pour ma part, chacun a ses avantages en terme de rapidité, mais c'est selon ce qu'on fait (traitement de chaînes, web, 3D, etc...)
    Dernière modification par Sendusha ; 04/05/2011 à 18h59.

  11. #171
    Inactif  
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 357
    Points : 637
    Points
    637
    Par défaut
    Le bench est fait sur mono, donc à relativiser encore plus

    Cela étant dit, .net étant monoplateforme ça ne me choque pas qu'il soit plus rapide que java.

  12. #172
    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 gorgonite Voir le message
    et pourquoi ne le serait-il pas ?
    parce que sans explications supplémentaires, la tienne non plus a peu de chance d'être considéré comme valable
    • Donc comme je l'ait dit l'option -O qui ne sert à rien décridibilise déjà le tout.
    • System.currentTimeMillis() qui n'a pas une très bonne précision sous Windows (de l'ordre de 16ms environ).
      A titre d'exemple le code suivant récupère le temps passé et l'affiche à chaque fois que la valeur varie :
      Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      	long start = System.currentTimeMillis();
      	long previous = -1;
      	while (previous < 320) {
      		long current = System.currentTimeMillis() - start;
      		if (current!=previous) {
      			previous = current;
      			System.out.println(current);
      		}
      	}
      On obtient quelque chose comme cela :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      0
      16
      31
      47
      63
      78
      94
      110
      125
      141
      156
      172
      188
      203
      219
      235
      250
      266
      281
      297
      313
      328
      On fait des "sauts" de 16 ms...
      deux appels très rapproché peuvent renvoyer 16 ms si on n'a pas de chance, ce qui peut fausser les résultats.

      Je ne connais pas la précision de TimeSpan.TotalMilliseconds, mais elle doit également être prise en compte.

      Il faudrait "allonger" le traitement afin d'avoir des temps plus importante et minimiser ce problème de précision...


    • Il ne fait pas les tests avec la JVM server, qui est généralement utilisé pour les grosses applications qui doivent bénéficier des meilleurs optimisations.

    • Pour le test sur les collections, il utilisait à l'origine une LinkedList en Java contre une ArrayList en C#, le tout avec une itération par index (ce qui est catastrophique sur une LinkedList).
    • Le titre est provocateur (.NET 2 à 3 fois plus rapide que Java), mais il ne semble pas prendre en compte le résultat du dernier test où Java obtient des performances 23 fois plus rapide...


    Bref il me faut plus que cela...


    a++

  13. #173
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Bref il me faut plus que cela...
    Je te comprend.

    N'ayant strictement rien à carrer de savoir si java ou c# est plus rapide de 3MS pour gérer un tableau d'entiers dans une boucle de 2 millions d'itérations, je ne conserve pas de liens vers des benchmarks.

    En me basant sur ceux que j'ai lu et jugé crédibles ainsi que sur des tests effectués par moi-même, j'ai quasiment toujours pu conclure à une légère avance de c# en moyenne et sur un environnement Microsoft, et ce bien que sur certains types de traitements java soit plus rapide.

    Les scénarios dans lesquels j'ai pu observer les plus grosses différences en faveur de .Net concernent l'accès aux données d'une base (Java/Oracle vs Java/SQL Server vs ADO.Net 2.0/Oracle vs ADO.Net 2.0/SQL Server).

    Là je devrais pouvoir retrouver des liens...j'vais chercher.

  14. #174
    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 Keihilin Voir le message
    N'ayant strictement rien à carrer de savoir si java ou c# est plus rapide de 3MS pour gérer un tableau d'entiers dans une boucle de 2 millions d'itérations, je ne conserve pas de liens vers des benchmarks.
    On est tout à fait d'accord sur ce point

    Perso ce qui me gène le plus c'est le mythe "java c'est lent" qui a la peau dure, surtout lorsqu'on voit des benchmarks un peu biaisé...

    Citation Envoyé par Keihilin Voir le message
    Les scénarios dans lesquels j'ai pu observer les plus grosses différences en faveur de .Net concernent l'accès aux données d'une base (Java/Oracle vs Java/SQL Server vs ADO.Net 2.0/Oracle vs ADO.Net 2.0/SQL Server).
    Postes toujours les liens si tu les retrouves

    a++

  15. #175
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    On est tout à fait d'accord sur ce point

    Perso ce qui me gène le plus c'est le mythe "java c'est lent" qui a la peau dure, surtout lorsqu'on voit des benchmarks un peu biaisé...
    Mais la JVM reste quand même plus lente à démarrer que le CLR.
    Les 100% CPU pendant trois secondes quand on démarre un programme ou une applet java ne sont toujours pas révolus, même si on les voit moins si on a un multi-cœur..

  16. #176
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En fait des améliorations assez importantes ont été effectués sur ce plan là depuis l'update 5 ou 6 de java6.
    Et ce en prévision de JavaFX.
    Le coldstart (démarrage de la JVM non en cache) a été amélioré, le plugin java pour les navigateurs a été entièrement revu et externalisé du navigateur en lui même (grosso modo une applet aura largement moins de chances de faire ramer le navigateur ou de le faire planter comme c'était le cas avant)

    Enfin bref si vous avez besoin de java pour une appli X ou Y, avoir la toute dernière update de java 6 change tout de même pas mal la donne, d'autant plus qu'avec les dernières versions un Pipeline D3D a été ajouté aux pipelines pré existants (OpenGL, soft...). Et ce pipeline améliore quand même pas mal la vitesse de rendu sous Windows.

  17. #177
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Perso ce qui me gène le plus c'est le mythe "java c'est lent" qui a la peau dure, surtout lorsqu'on voit des benchmarks un peu biaisé...
    Citation Envoyé par sinok Voir le message
    Et ce pipeline amériore quand mêem pas mal la vitesse de rendu sous Windows.
    Et c'était nécessaire je pense, car ce "mythe" sur la lenteur de java est sans doute largement dû à lenteur du chargement des applications "client lourd" sous Windows.

  18. #178
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Keihilin Voir le message
    Et c'était nécessaire je pense, car ce "mythe" sur la lenteur de java est sans doute largement dû à lenteur du chargement des applications "client lourd" sous Windows.
    Plus que çà encore, je pense surtout aux applications se permettant de faire du calcul lourd dans le thread de rendu (aka EDT). Que qui avait pour conséquence le fameux "Rectangle Gris" caractéristique d'une appli java mal foutue...

  19. #179
    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 sinok Voir le message
    Plus que çà encore, je pense surtout aux applications se permettant de faire du calcul lourd dans le thread de rendu (aka EDT).
    +1000

    (il ne faut pas oublier non plus les JVM <1.2 sans compilateur JIT)

    a++

  20. #180
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Mais la JVM reste quand même plus lente à démarrer que le CLR.
    Les 100% CPU pendant trois secondes quand on démarre un programme ou une applet java ne sont toujours pas révolus, même si on les voit moins si on a un multi-cœur..
    Java Quick Start apparu dans la version 1.6.0_u10 devrait améliorer ce point (je n'ai pas encore testé).

Discussions similaires

  1. vba versus java
    Par lemacdupc33 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 30/05/2017, 11h52
  2. Temps de compilation C++ versus Java
    Par ZeRevo dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 16/12/2011, 14h34
  3. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 17h50
  4. Vitesse : C Versus Java
    Par ToTo13 dans le forum C
    Réponses: 15
    Dernier message: 01/10/2006, 10h19
  5. WinDev versus Java
    Par Tijee dans le forum WinDev
    Réponses: 4
    Dernier message: 29/01/2006, 11h15

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