|
|||||||
| 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 |
|
|
#181 |
|
Membre expérimenté
![]() ![]() |
J'aime JAVA tout simplement car c'est un langage objet exceptionnel (très bien pensé et c'est un plaisir de l'utiliser). J'aime être libre dans mes choix et j'apprécie le partage des connaissances... Je n'aime pas les langages trop abstraits qui font un peu l'effet masque (cf VB.NET). En gros, j'aime savoir ce que je fais et comment c'est fait.
C# est plus rapide que JAVA (des fois...), mais arrêtons de nous voiler la face, tout le monde sait que c'est du copier/coller de JAVA SANS son incroyable portabilité bien sûr. VOILA ce qui explique (en partie) la différence de vitesse... M$ pour et avec M$... Petite question : avez-vous plus confiance en les développeurs M$ qu'en les experts en programmation et en sécurité internationals ? Pour moi, JAVA est beaucoup plus mûr et M$ a pondu VS pour essayer de ne pas tout perdre de se côté là et pour s'en convaincre, il suffit de se renseigner et de se remémorer l'histoire même de M$... Peut-on nier le fait que Bill soit un rapace ? Si vous aimez le développement l'informatique bien étudié et si vous tester ces différents langages, vous pencherez normalement vers JAVA. Enfin, qui peut me dire que le coût des licences M$ est négligeable ? Voyons, restons sérieux... Malgré tout ce qui a pu être dit, je persiste et je signe : JAVA est meilleur en moyenne que tout langage de M$. La seule chose que j'apprécie sur VS, c'est le formatage automatique du code source et quelques petits effets sympathiques. In fine, chacun fait ses choix ! PS: J'ai développé un framework de création d'application graphique pour le CNRS, des projets J2EE et des librairies VB.NET. |
|
|
00
|
|
|
#182 | |
|
Membre Expert
![]() Inscription : novembre 2005 Messages : 1 900 ![]() |
Citation:
Normal vue la différence d'âge.. PS : je ne fais ni Java, ni C#, ni C++... |
|
|
|
00
|
|
|
#183 | |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
Si les deux langages partagent la même syntaxe de base (hérité du C), cela aboutit à une approche de la POO très opposé sur de nombreux points... (mais c'est un autre débat). De même qu'on ne peut pas parler de "copie" pour le C# ! Oui c'est un concurrent sur le même domaine que Java, mais malgré ma méconnaissance de C#, je sais qu'on y retrouve également beaucoup de notion différente de Java. Maintenant ces différences et ces choix ont pus être pris en considération de l'expérience apporté par Java... mais c'est tout à fait normal ! Par contre bricecol : ton argumentaire me semble peu crédible et assez trollesque... sûrement à cause de tout ces "M$" qui traine et qui te décrédibilise encore plus a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
|
00
|
|
|
#184 | |
|
Membre Expert
![]() Inscription : novembre 2005 Messages : 1 900 ![]() |
Citation:
|
|
|
|
00
|
|
|
#185 | ||||
|
Inscrit
|
Citation:
Citation:
Citation:
Citation:
Que Microsoft ai observé et appris de Java pour créer .Net ne fait aucun doute, mais comme l'a souligné adiGuba de nombreuses choses qui peuvent sembler similaires sont implémentées de manière très différentes (à tort, à raison, ou sans réelles conséquences). D'autre part, comme cela a déjà été évoqué ici, .Net bénéficie d'un rythme d'évolution plus soutenu que Java ce qui a pour effet d'avoir un peu inversé les points de référence; Java peut maintenant aussi "apprendre" de .Net et peut être même "copier" (OMG!) si le choix d'implémentation d'une fonctionnalité dans .Net est jugée bonne par la communauté Java. |
||||
|
|
00
|
|
|
#186 | ||
|
Membre chevronné
![]() Rémi BOURGARELDéveloppeur .NET Inscription : juin 2006 Messages : 425 ![]() |
Je vais rajouter mon petit grain de sel, vu que ce débat est très passionnant et que j'ai plus ou moi touché aux deux technos (java 4 mois pour une appli desktop réseau et c# 1 an et demi d'asp.net et un zeste de desktop).
Coté syntaxe, il n'y a pas de "meilleur" java est plus correct je pense sur l'objet (le "virtual" par exemple est une abération) que c# qui va permettre d'ici peu de faire ce genre de choses : Code :
Donc j'aurais tendance à préférer java parce qu'il est un peu plus contraignant , et dans un projet ou tout type de developpeur sont réunis, c'est pas de trop. Coté techno (sinon on s'arrète a la syntaxe). Les perfs j'ai pas assez d'expérience en desktop c# pour en juger, mais c'est vrai que les petite appli que j'ai faite n'avait pas des freezes comme celle java, mais la on touche swing plus que la techno java. Par contre la ou Java deviens ma technos préférée c'est sur le fait que ce n'est pas un framework ! on est pas en boite noire costemment, à décompiler les dll pour savoir comme ça se fait que mon programme bug des qu'il entre dans une fonction de .net, et en asp.net encore plus. Coté IDE, pour ma part c'est Eclipse VS Visual Studio Pas photo : Eclipse les yeux fermée sur un pied et sans les mains ! Visual Studio génère du code de partout, sans pour autant pouvoir l'éditer, il copie / colle très mal, le Team Foundation bugue vraiment pas mal , le wysiwyg est très très très lent, les possibilités de refactoring sont très limitée, il y a 40 style de projets on s'y retrouve jamais ("Projet Web ou site web ? that's the question"). Mais java l'emporte tout de même haut la main (pour moi) pour les points suivent : - apache : l'équipe de IIS devrait etre fondu a la soude puis mangée puis refondue puis éparpilllée sur une planète qu'on aurait fondue, alors qu'apache c'est de la crème a administrer - communauté (beaucoup trop d'évangeliste microsoft sur la toile, l'example type est la folie qu'il y avait pour link to sql a la sortie, ça parlait que de ça, ils ont arrété depuis qu'on s'est rendu compte que ça servait a rien). - le nom ("c tiret" contre "ile du pacifique" ou "café" c'est ridicule) - la proximité avec le monde de l'open source qui le tire vers le haut, c'est pas visual stduio qui va se sentir mis en danger par la concurence. - il n'est pas lié a d'autre produits, c'est l problème de microsoft il veulent faire une toile entre tout leur machin Enfin voila. |
||
|
00
|
|
|
#187 | |||||||
|
Inscrit
|
Citation:
J'étais un peu dubitatif la première fois que j'ai vu ça, et j'ai également rapidement pensé aux abus que cela pouvait provoquer. Après quelques mois d'utilisation, j'ai largement modifié mon jugement ! Ce n'est au final qu'un sucre syntaxique, et comme tout les sucres syntaxiques, mal utilisé c'est pénible, mais utilisé intelligemment, c'est vraiment très très pratique et cela peut même rendre le code bien plus lisible. Citation:
Notons quand même que les sources de .Net sont maintenant disponibles en consultation et que l'on peut donc désormais se passer de décompilation pour comprendre le fonctionnement de telle ou telle fonction. Citation:
Concernant les designer wysiwyg, il est vrai que celui d'asp.net a toujours été une catastrophe, à tel point que même s'il s'est largement amélioré au fil des versions, je connais très peu de développeurs qui l'utilise encore. Citation:
Citation:
Mais bon, de là à dire que LINQ ne sert à rien, il y a de la marge... Dès que l'on touche à la problématique de réunir OO et relationnel, aucune solution n'est parfaite à 100%. LINQtoSQL est juste une solution parmi d'autre, mais ce n'est de loin pas la pire... C'est effectivement le but de Microsoft d'offrir une solution globale, et .Net est une brique de cette solution. Il s'agit clairement de philosophies différentes qui comportent chacune des avantages et des inconvénients, mais ce n'est pas là un critère pour juger des qualités de l'une ou l'autre des technologies... |
|||||||
|
|
00
|
|
|
#188 | ||
|
Membre habitué
![]() Inscription : septembre 2008 Messages : 236 ![]() |
Citation:
Mais il est vrai que l'avantage principal du Java est sa portabilité. Cela signe sans doute l'avenir en terme d'applications. Par exemple, saviez-vous que Eclipse a été conçu en Java ? Citation:
__________________
Développeur en devenir. A la recherche de toute source approfondissant Merise, UML, Java, l'objet, les design patterns hors GOF et le développement en général. Recherche également des informations sur les techniques de développement et les bonnes pratiques en terme de programmation en entreprise. "On en apprends beaucoup plus par la confrontation que par la conciliation" |
||
|
|
00
|
|
|
#189 | ||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 257 ![]() |
D'après Richard Stallman :
Citation:
Citation:
J2EE vs c#.net 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] Il y a une différence entre J2EE et J2SE et de toute façon, va jeter un oeil sur le blog de James Gosling, il y a un lien vers une étude de l'INRIA pour comparer Fortran et Java. De même, sur wikipedia, dans "java performance", on précise bien que Java fait parfois mieux parfois pire que C/C++ donc je pense que c'est vrai aussi pour C#. Je ne vois pas pourquoi C# serait plus rapide que Java. J'aime bien ce benchmark : http://bytonic.de/html/benchmarks.html C# peut-il aller plus vite que C/C++ sur certaines machines? |
||
|
|
00
|
|
|
#190 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 522 ![]() |
Les cas ou java/C# sont plus rapides que du langage natif sont quand même très marginaux. Et pour peu qu'on se fasse une gestion de la mémoire maison, cet avantage s'écroule
Cela dit, ces langages ont bien d'autres avantages : API bien fournie, code rapide a faire, plus simple a débugguer, etc . . . |
|
|
00
|
|
|
#191 | |
|
Expert Confirmé Sénior
![]() |
Citation:
Voir les types valeur complexes (comme DateTime), et le passage par référence, qui permet à une fonction de retourner deux valeurs sans qu'une allocation dynamique soit nécessaire... Tu auras beau améliorer les performances de ton allocateur, ça sera toujours plus lent que sans...
__________________
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. |
|
|
|
00
|
|
|
#192 | ||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
[edit] Donc je ne comprend pas où tu vois les allocations "à chaque manip"... Citation:
a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||
|
00
|
|
|
#193 | |
![]() ![]() ![]() Nicolas ValléeIngénieur d'études Inscription : décembre 2005 Messages : 9 978 ![]() |
Citation:
on dirait surtout que tu n'as pas compris (voulu comprendre ?) les propos cités ci-dessus |
|
|
|
00
|
|
|
#194 | |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 661 ![]() |
Citation:
![]() Quand au passage par référence : s'il s'avère très utile en C++ où on manipule des objets, il l'est bien moins en Java où l'on manipule des références, et où le passage d'un objet à une méthode n'implique pas une recopie de l'objet... a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
|
00
|
|
|
#195 |
|
Expert Confirmé Sénior
![]() |
Types valeurs: Le plus simple, c'est de regarder le type DateTime de .Net, ou l'équivalent en java. Dans les deux cas, ces types sont immuables.
Imagine que je veuille une date deux heures, trois minutes et dix secondes après "maintenant". En .Net: DateTime dt = DateTime.Now.AddHours(2).AddMinutes(3).AddSeconds(10). Je ne connais pas la syntaxe java, mais je sais qu'elle est similaire. Maintenant, au niveau performance:
Pour le passage par référence, c'est encore plus simple: Écris-moi une fonction java qui retourne deux long. Puis essaie de la réécrire pour qu'elle retourne deux long sans qu'aucune allocation dynamique soit faite.
__________________
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. |
|
|
00
|
|
|
#196 | ||||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 257 ![]() |
Citation:
Citation:
Sinon, tu peux faire : Code :
|
||||
|
|
00
|
|
|
#197 | ||
|
Inscrit
|
Désolé de couper dans les échanges sur les types valeur, mais j'aimerais quand même répondre à ça :
Citation:
Le SDK .Net est gratuit depuis le début (seul Visual Studio hors versions express est payant), C# est standardisé, et les sources du framework ont été ouvertes...un retour en arrière me semble très peu probable. Concernant le disponibilité multi-plateforme, Microsoft a fait un choix assez clair dès le début. .Net s'inscrit dans une stratégie globale d'unification et comme un "argument" de vente de solutions d'entreprise complètes. Ce n'est pas sur les ventes de licences Visual Studio que Microsoft fait son chiffre, donc .Net n'est pas un but en soit, c'est un moyen. Partant de là, il est parfaitement logique (commercialement parlant) de ne pas gaspiller du temps et des ressources pour proposer du multi-plateforme. Rappellons quand même que le but final, chez MS comme chez Sun, est de faire des bénéfices; les stratégies sont justes différentes. Citation:
Par ailleurs, et je ne sais pas si l'argument a déjà surgit dans ce débat, je me demande si la fameuse portabilité de Java n'a justement pas un revers de médaille au niveau des perfs... De manière intuitive je pense que plus on cherche la portabilité, plus les besoins d'abstraction sont grands, et un accroissement de l'abstraction est rarement synonyme de performances accrues... |
||
|
|
00
|
|
|
#198 |
|
Membre expérimenté
![]() ![]() |
Je tiens à préciser quelques points essentiels concernant mon précédent message.
Premier point : Je n'ai jamais nié le fait que je préfère JAVA aux langages .NET et je n'ai jamais prétendu être objectif, bien au contraire. Donc les remarques du genre "mauvaise argumentation" ou alors "peu crédible" non pas lieu d'êtres ici, je pense. Deuxième point : Je fais tout à fait la différence entre un environnement de développement et un langage de programmation. Mais il y a malheureusement des personnes prétentieuses qui aiment jouer avec les mots, alors qu'elles ont tout à fait compris ce que j'ai voulu dire et qui me font donc passer pour un idiot... Dernier point : Je n'ai pas la prétention de me croire meilleurs que les autres développeurs simplement parce que j'ai travaillé un peu dans la recherche et je n'apprécie pas qu'on le sous-entende. J'ai spécifié ce détail dans le but d'exprimer le fait que j'ai déjà utilisé les deux technologies. Je terminerai sur le fait que je déteste les personnes qui cherchent à tout pris à descendre les autres en jouant sur les mots, les faux sous-entendus ou insinuations blessantes ainsi que celles qui coupent les cheveux en quatre. Je ne pense pas avoir blessé qui que ce soit, ayez donc un minimum de respect envers cela. Bonne journée. |
|
|
00
|
|
|
#199 | |||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 257 ![]() |
Citation:
Citation:
Citation:
Comment Java pourrait être 2 à 3 fois plus lent que C# si Java peut aller légèrement plus vite que des langages natifs? Si c'est vrai, ça veut dire que C# est 2 à 3 fois plus rapides que des langages natifs, non? Ca ne paraît pas tiré par les cheveux? |
|||
|
|
00
|
|
|
#200 | ||||
|
Inscrit
|
Citation:
Citation:
A l'avenir, si tu ne veux pas donner de fausses impressions, je te suggère d'éviter de citer la coloration syntaxique de VS comme point technique "sympa" de .Net... Citation:
Citation:
Bonne journée à toi aussi. |
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com