Précédent   Forum du club des développeurs et IT Pro > Général Développement > Débats sur le développement - Le Best Of

Débats sur le développement - Le Best Of Décideurs : Le meilleur des débats sur les choix de technologies pour le développement. Ce forum est réservé aux professionnels.

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: Quel est le meilleur des deux langages selon vous ?
Je suis intéréssé par Java et C# 221 20,24%
C# 326 29,85%
Java 352 32,23%
J'apprécie le fait d'avoir l'alternative Java ou C# 104 9,52%
Ni l'un ni l'autre 35 3,21%
Sans opinion 45 4,12%
Autre avis ? (précisez...) 9 0,82%
Votants: 1092. Vous ne pouvez pas participer à ce sondage.

Publicité
'
Réponse
 
Outils de la discussion
Vieux 20/08/2008, 12h00   #161
jerome.fortias
Membre habitué
 
Avatar de jerome.fortias
 
Inscription : janvier 2004
Messages : 162
Détails du profil
Informations personnelles :
Âge : 42
Localisation : Belgique

Informations forums :
Inscription : janvier 2004
Messages : 162
Points : 100
Points : 100
Envoyer un message via MSN à jerome.fortias Envoyer un message via Skype™ à jerome.fortias
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
__________________
Jerome Fortias
Consultant senior (vieux) Portail et Intégration SAP .net.
Fondateur du site www.onplonge.com (site de plongeurs fous)
et du site www.gareaugorille.com (arts et culture)
Le tout sur dotnetnuke ... et Na
jerome.fortias est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2008, 11h13   #162
wogkiller
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
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
  Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2008, 21h31   #163
Adenora
Membre habitué
 
Avatar de Adenora
 
Femme
Étudiant
Inscription : octobre 2008
Messages : 133
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2008
Messages : 133
Points : 131
Points : 131
Je dirais le Java, vu que je ne connais pas le C#.
Adenora est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2008, 21h55   #164
vtrone
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 900
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 900
Points : 2 028
Points : 2 028
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...
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 10h43   #165
imadin
Candidat au titre de Membre du Club
 
Inscription : février 2008
Messages : 72
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 72
Points : 12
Points : 12
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é ?
imadin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 11h29   #166
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

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

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
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++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 11h44   #167
Keihilin
Inscrit
 
Avatar de Keihilin
 
Inscription : février 2004
Messages : 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : février 2004
Messages : 861
Points : 1 029
Points : 1 029
Envoyer un message via MSN à Keihilin Envoyer un message via Skype™ à Keihilin
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.
Keihilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 11h58   #168
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

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

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
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++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 12h04   #169
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 961
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

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

Informations forums :
Inscription : décembre 2005
Messages : 9 961
Points : 18 152
Points : 18 152
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
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 12h45   #170
vtrone
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 900
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 900
Points : 2 028
Points : 2 028
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...)
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 12h51   #171
Furikawari
Inactif
 
Inscription : septembre 2008
Messages : 357
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 357
Points : 403
Points : 403
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.
Furikawari est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 12h52   #172
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

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

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
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 :
    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 :
    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++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 13h18   #173
Keihilin
Inscrit
 
Avatar de Keihilin
 
Inscription : février 2004
Messages : 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : février 2004
Messages : 861
Points : 1 029
Points : 1 029
Envoyer un message via MSN à Keihilin Envoyer un message via Skype™ à Keihilin
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.
Keihilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 13h39   #174
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

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

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
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++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 13h48   #175
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 380
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

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

Informations forums :
Inscription : septembre 2005
Messages : 22 380
Points : 32 015
Points : 32 015
Envoyer un message via MSN à Médinoc
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..
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone.
-- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 13h56   #176
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 633
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 633
Points : 12 433
Points : 12 433
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.
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 14h27   #177
Keihilin
Inscrit
 
Avatar de Keihilin
 
Inscription : février 2004
Messages : 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : février 2004
Messages : 861
Points : 1 029
Points : 1 029
Envoyer un message via MSN à Keihilin Envoyer un message via Skype™ à Keihilin
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.
Keihilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 14h59   #178
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 633
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 633
Points : 12 433
Points : 12 433
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...
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 15h08   #179
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

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

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
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++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2008, 15h30   #180
vtrone
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 900
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 900
Points : 2 028
Points : 2 028
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é).
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h01.


 
 
 
 
Partenaires

Hébergement Web