|
|||||||
| 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. |
|
|
Publicité ' | |||||||||||||||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#61 | |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2003 Messages : 10 ![]() |
Citation:
Si l'on pousse le vice un peu plus loin (mais pas bcp plus ...) on peut même dire que c# n'est un langage "Objet" que de justesse! La selection dynamique des méthode est une propriétée ESSENTIELLE d'un langages pour etre qualifier de "objet". Devoir être obliger de le spécifier (avec le mot clef 'virtual') fait, dans un sens, que l'on est obligé de dire au langage "d'etre objet". Java est quand meme un meilleur langage objet, meme si il n'est pas parfait. C# est un nouveau langage qui n'est pas meilleur, et même pire, donc il ne faut pas l'utiliser. Pour Taroth: Pouvoir, dans un langage, spécifier des contrainte d'implémentation (inlining, allocation pile/tas) et trés dangereux, compliqué, sujet à bug, et va à l'encontre d'un langage objet moderne (toujours + d'abstraction pour gerer de plus gros projet/applications, meilleur compilo qui ferrons le boulot pour toi et mieux que toi). De plus C# va touner sur une machine virtuelle, tu croit vraiment gagner bcp de perf en bidouillant avec ta VM ? Je ne pense pas, ou alors au prix de tellement d'effort que cela ne vaudra pas le coup. Les bug coutent biens plus chers que quelques cycle d'horloge. Mais c'est vrais qu'il ne faut pas ce satisfaire de la "lenteur" des langages |
|
|
|
00
|
|
|
#62 |
|
Inactif
Inscription : avril 2002 Messages : 51 ![]() |
Là, je t'arrete : la question ne se pose pas en ces termes. L'optimisation est un sujet essentiel. Qu'une application soit optimisé ou non, c'est ce qui va determiner le nombre d'utilisateurs qui pourront se connecter simultanement à un site Web, par exemple (c'est pas le seul facteur, on est d'accord), toutes choses etant egales par ailleurs. Et penser qu'un compilateur peut faire mieux qu'un programmeur dans ce domaine, ça n'est pas serieux.
|
|
|
00
|
|
|
#63 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2003 Messages : 10 ![]() |
L'optimisation est importante je ne le nie pas, mais un compilo ferra beacoup mieux que toi et beaucoup plus proprement et surement ... regarde, rien que le garbage collector, c'est 'lourd' et couteux en ressource mais son interet est indeniable! L'inlining peut trés biens etre géré par le compilo (certains le font ...), la selection dynamique peut même être suprimé par le compilo quand elle est inutile pour accelerer l'appel de méthode et tu n'a toujours pas à t'en occuper!
Cepandant je suis d'accord que parfois, il faut "mettre les mains dans le combouis" mais pas pour ton application entierre!, pas de manierre systématique! beaucoup d'application tourne trés biens sans optimisation "qui vont biens car l'allocation en mémoire ce fait sur des addresse paire et patatipatata" De plus, C# ce base sur une VM, qui est une abstraction de l'architecture sous-jacente; Reflechir à une optimisation pour une abstraction ? sa sonne un peu faux non? Je ne reni en aucun cas l'utilité de l'optimisation, ni la nécessité! Mais elle doit etre exeptionelle pour le langage (surtout pour un langage moderne, objet, et tournant sur une VM), et ce langage ne doit pas obliger le développeur à y reflechir à chaque ligne de code. |
|
|
00
|
|
|
#64 | |||
|
Inactif
Inscription : avril 2002 Messages : 51 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#65 | ||
|
Membre émérite
![]() Inscription : mars 2002 Messages : 30 ![]() |
Citation:
Citation:
De plus, c'est pas très compliqué de comprendre que l'acces a des variables locales est TOUJOURS plus rapide que des variables de classes... pour le reste, laisse les compilo se debrouiller ! Ces remarques sont valables quelque soit le langage. |
||
|
|
00
|
|
|
#66 | |||
|
Inactif
Inscription : avril 2002 Messages : 51 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#67 |
|
Membre actif
![]() Inscription : mai 2003 Messages : 133 ![]() |
Je suis tout a fait opposé à thecat quand il dit qu'il ne faut pas utiliser C# (au profit de Java). Et cela pour plusieurs raisons. Notament celle mentionnée pas neo.51: pourquoi se fatiguer a faire des applications portables sur linux, solaris, unix et autres alors que le client ne demande qu'un programme windows? Pourquoi se fatiguer a utiliser des fonctions de Java alors que pour windows, celles de l'Api semblent mieux convenir.
Je crois que crois que thecat manque lourdement d'impartialité dans son attaque contre C#; il me semble qu'il vaut mieux regarder ce debat avec tempérance, et adapter sa réponse en fonction de ce qu'on demande au programme; il n'existe pas de "meilleur" language; il existe juste des languages qui conviennent mieu à une situation donnée! |
|
|
00
|
|
|
#68 |
![]() ![]() |
en tout cas, visiblement, C# n'est pas tellement plus rapide que java (voir moins rapide) pour les operations de base
http://www.tommti-systems.de/main-Da...enchmarks.html faut aller jusqu'en bas de l'article |
|
00
|
|
|
#69 | ||||
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 1 ![]() |
Citation:
il n'y a aucun code provenant de microsoft dans mono. Citation:
Citation:
Pour confirmer les choses, j'ai fait le test chez moi avec les valeurs maximales divisées par 10 pour ne pas attendre 5min devant l'ordi : résultat : Citation:
|
||||
|
|
00
|
|
|
#70 |
|
Membre régulier
![]() |
je prends le debat un peu au bond et donc je n'ai pas vraiment suivit les evolution mais ce que je peux dire cest que je suis autant java que c#. Je m'explique # a bel et bien copie sur java beaucoup de chose mais remarquer que java avec la futur version 1.5 fait de meme sur son omologue ex : les propriété en c# ...
DE plus c# plante mais pas autant que ce qu'on peut le dire. Par exéprience j'ai réalisé un serveur en java et en c# et je dois dire que en java fin de semaine je devais rebooter la machine car la machine virtuelle ne suivait plus et j'avais quand meme 1giga de ddr en ram donc ... Avec mon serveur c# moins de probleme. J'attends vos réaction tout en me faisant l'avocat du diable |
|
|
00
|
|
|
#71 | |||
|
Nouveau Membre du Club
![]() |
Citation:
Il est intérressant de noter la grosse faiblesse de la VM de sun pour les opérations mathématiques , et celle du C# pour la gestion des listes... Ce ne sont que des tests très précis, et dans tous les cas je pense que C# offrira toujours des perfs meilleures sous windows ne serait-ce ce que parce qu'il nécessite moins de mémoire. Je pense que cet écart sera d'autant plus grand que l'application va utiliser des composants graphiques, et là nous verrons que le C# est bien plus rapide que Java. Enfin je ne pense pas que la peformance soit un critère déterminant, ni le C# ni le Java n'ont été conçus dans l'optique de performances fulgurantes, les langages compilés restent indétrônable, et sincèrement je m'en contrefiche un peu de savoir si mon programme Java va mettre 10ms de plus ou de moins à effectuer un calcul compliqué, car ce qui détermine avant tout les performances d'une application c'est la qualité du code du programmeur. En fait un tel test permet surtout de comparer les machines viruelles. Citation:
Enfin : Citation:
|
|||
|
|
00
|
|
|
#72 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 54 ![]() |
il y a aussi ce bench:
http://www.osnews.com/story.php?news_id=5602 mis à part la trigo java s'en sort très bien... le code pour .net n'est pas managed... mais il affirme qu'il y a pas de gain de performance... j'ai des doutes mais bon.... nicoo, c'est pas parce que ça plante chez toi que c'est partout pareil...si java serait aussi minable que ça et planterais autant, il ne serait jamais autant utilisé sur les serveur faut pas s'attendre à des miracles de mono, c'est pas ms qui fait le boulot donc ils seront toujours en retard par rapport à eux et absolument rien ne garantie que ça sera pleinement fonctionnel avec ce qu' ms fait |
|
|
00
|
|
|
#73 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 54 ![]() |
[quote="iolco51"]
Citation:
Citation:
ta plein de programme qui le montre telle que jajuk, jbuilder et cie c'est aussi vrai pour le code des prog... juste en retouchant une partie de prog de téléphonie qui utilisait énormément les string, les performances ont augement de 400% merci les stringbuffer ta de nombreux site expliquant les optimisants pouvant être fait en java... faut regarder et savoir coder avant de critiquer |
||
|
|
00
|
|
|
#74 | |
|
Membre confirmé
![]() |
Citation:
Java n'est pas fait pour faire des interfaces graphiques. Ou plutôt les concepts utilisés dans Swing sont trop lourds. Chaque langage a ses avantages et ses inconvénients. Aucun langage ne sait tout faire mieux que les autres. N'importe quel consultant technique sérieux vous le dira. Concernant Swing, je dirais que ce framework est d'une lourdeur inimaginable, et d'une lenteur sidérente sur des machines actuelles. A force de vouloir trop bien faire (MVC à tout va), on en arrive a ne plus savoir rien faire correctement. Qui oserais comparer la VCL de Borland a Swing de Java? Je n'ose même pas en dire plus, préférant ne pas penser au centaines de lignes de codes nécéssaires pour faires des choses simples en Swing faites en quelques clicks de souris en VCL sous Delphi ou C++ Builder par ex, ni à la différence d'execution. Sans parler des bugs de JDK, toujours reglés ou améliorés dans le JDK suivant, ni même des invokeLater, qui sont une véritable plaie pour le débuguage et les performances. Bref, jugement sans appel. Java très bien pour les wepApp. .Net fera-t-il mieux de ce côté là? Niveau applications et interfaces graphiques, je demande à voir ce que va nous faire .Net. En attendant, je resterais sur Delphi 8 .Net et la VCL qui tourne tellement bien depuis tant d'années. |
|
|
|
00
|
|
|
#75 | |
|
Nouveau Membre du Club
![]() |
Citation:
L'API Swing est tres bien pensee, bien documentee, et c'est un regal de developper des applications avec. Mais optimisations du programme ou non, une interface graphique en swing sera toujours bcp fois plus lente qu'une interface native, c'est lie a l'architecture de swing, et au choix de sun (que je trouve judicieux) de ne (presque) pas utiliser de composants natifs. On a beau la critiquer, swing reste une excellent librairie destinee aux interfaces graphiques, aux performances tout a fait honnete, avec un look and feel pluggable, une tres bonne architecture (MVC entre autres), et 100% portable avec ca. On ne peut pas etre bon partout. |
|
|
|
00
|
|
|
#76 |
![]() ![]() ![]() Inscription : septembre 2002 Messages : 1 581 ![]() |
Une chose n'a pas été dite sur la question de la portabilité. On dit que C# devrait à court terme être portable sur Linux. Seulement, il y a linux et linux (Suse, Redhat, Mandrake,RHEL3...et j'en passe)
Et une version de linux n'est pas du tout l'autre Je le constate de plus en plus souvent car mon entreprise a introduit sur le marché(il y a + de 10 ans) un spooler d'impression hyper complet portable sur TOUTES les plateformes sans exception (comme ce spooler est certifié par SAP, faut suivre SAP). Mais celles qui nous posent régulièrement des problèmes sont les Linux. Linux est hyper dur à suivre, les kernels changent tout le temps... A chaque release de Redhat, des problèmes apparaissent. Bref, c'est pas une mince affaire de suivre Linux. Les systèmes Unix eux sont plus beaucoup plus homogènes (AIX, HP,Solaris). Microsoft devrait peut-être d'abord s'attaquer à Unix plutôt qu'à Linux. |
|
|
00
|
|
|
#77 | ||
|
Membre Expert
![]() Inscription : juin 2003 Messages : 622 ![]() |
Citation:
Citation:
J'ai installé la même jvm sur des 2.4 et 2.6 et je n'ai eut aucun problème. Sun n'a pas de problème majeur avec ça. Et sur le fait que C# soit portable sous Linux à court terme j'ai des doutes. De toute façon, la majorité des Linuxiens sera plus que réticente à coder en C#.
__________________
"Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux." |
||
|
|
00
|
|
|
#78 |
|
Invité régulier
![]() Conseil - Consultant en systèmes d'information Inscription : juillet 2004 Messages : 6 ![]() |
Personnellement, j'ai répondu Java.
D'abord, je pense qu'un bon programmeur doit être ouvert sur tout les langages. On ne sait jamais, parfois on découvre un langage qui nous servira mieux. Pour justifier mon je dirai que le Java est un langage complet. La communauté Java offre une multitudes d'outils et de plate-forme qui répondent à nos besoins (J2EE, J2ME,...) ainsi que des IDE de performances inégales. Je vois que le C# apporte peu (pour ne pas dire il n'apporte presque rien) au Java. On a Java, il répond à nos besoins alors pourquoi le C#? En terme de gestion de temps et de mémoire, je reconnais que le C# présente un plus par rapport à Java, mais par rapport à d'autre avantages (richesse de la bibliothèque Java,...), on peut s'en passer. Voilà mon avis, merci à tout. |
|
|
00
|
|
|
#79 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 54 ![]() |
je rajoute une chose, java a contribué je trouve à apporter de nombreux outils de qualité au développement, des méthodes de travail....
par exemple niveau patron, on cherche sur le net et la plupart du temps, tout est donné pour java |
|
|
00
|
|
|
#80 | ||
|
Inscrit
|
Citation:
Mono n'est pas "en retard" d'un train par rapport aux avancées du framework d'origine, et cela augure plein de bonnes choses pour l'avenir. Citation:
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com