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. #181
    Membre chevronn�
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par d�faut
    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.

  2. #182
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par bricecol Voir le message
    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.
    Mouais... Sans vouloir faire de troll, Java n'est pas un copie/coll� de C++.... ?
    Citation Envoy� par bricecol Voir le message
    Pour moi, JAVA est beaucoup plus m�r
    Normal vue la diff�rence d'�ge..

    PS : je ne fais ni Java, ni C#, ni C++...

  3. #183
    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 kuzco Voir le message
    Mouais... Sans vouloir faire de troll, Java n'est pas un copie/coll� de C++.... ?
    Non loin de l� !
    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++

  4. #184
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par adiGuba Voir le message
    Non loin de l� !
    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 !
    Voil� un argument plus constructif, merci pour ce point de vue...

  5. #185
    Membre �m�rite

    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    862
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 862
    Par d�faut
    Citation Envoy� par adiGuba Voir le message
    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
    +1

    Citation Envoy� par bricecol Voir le message
    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�...
    Par ailleurs, cette tendance � joyeusement confondre .Net et Visual Studio ne participe � cr�dibiliser cet avis, CNRS ou pas .

    Citation Envoy� par bricecol Voir le message
    La seule chose que j'appr�cie sur VS, c'est le formatage automatique du code source et quelques petits effets sympathiques.
    Preuve suppl�mentaire, s'il en fallait une, que tu es visiblement pass� compl�tement � c�t� du sujet. Mais bon, �a a au moins le m�rite d'�tre dr�le.

    Citation Envoy� par bricecol Voir le message
    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.
    Dans cette phrase, "toute le monde" est � prendre dans le sens "les d�veloppeurs du dimanche qui ne voient pas plus loin que le bout de leur nez et qui s'arr�tent aux similarit�s de syntaxe pour tirer des conclusions idiotes" ? N'est-ce pas ?

    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.

  6. #186
    Invit�
    Invit�(e)
    Par d�faut
    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 : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public string ma_fonction_string(this string toto){
    ....
    }
    public void Main(){
    string test =" haha";
    string res = test.ma_fonction_string();
    }
    La �a fout le bordel et �a casse tout, c'est moche et inmaintenable, mais le probl�me de notre m�tier c'est que tout est utilis� et qu'un jour ou l'autre je vais voir ce genre de salet�.

    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.

  7. #187
    Membre �m�rite

    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    862
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 862
    Par d�faut
    Citation Envoy� par Bourgui Voir le message

    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 : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    public static string ma_fonction_string(this string toto){
    ....
    }
    public void Main(){
    string test =" haha";
    string res = test.ma_fonction_string();
    }
    Pas d'ici peu...les m�thodes d'extension sont d�j� disponibles en C# 3.0.

    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 Envoy� par Bourgui Voir le message
    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.
    7 ans que je travaille sur des projets .Net, et des bugs dans le framework lui-m�me j'en ai pas crois� des masses...

    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 Envoy� par Bourgui Voir le message
    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").
    Visual Studio est comme Eclipse : extensible. Donc les critiques sur le copier/coller ou le refactoring ne tiennent pas puisqu'avec quelques plug-ins on arrive � faire tout ce que l'on veut.

    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 Envoy� par Bourgui Voir le message
    - 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
    Hors sujet, Apache != Java, de m�me que IIS != .Net.

    Citation Envoy� par Bourgui Voir le message
    - 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).
    Oui, c'est s�r que l'objectivit� des �vang�listes microsoft n'est pas toujours � toutes �preuves...
    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...


    Citation Envoy� par Bourgui Voir le message
    - 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
    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...

  8. #188
    Membre confirm�
    Inscrit en
    Septembre 2008
    Messages
    234
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 234
    Par d�faut
    Citation Envoy� par bricecol Voir le message
    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 ?
    Pas n�cessairement. Je tenais cet appriori lorsque le Java avais fais son apparition. Depuis, j'ai d�couvert que le Java a �volu� et qu'il a �t� optimis� pour certaines op�rations (comme d'autres langages sur machine virtuelle) de sorte que dans certains cas de figure les performances sont assez voisines.

    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 Envoy� par Bourgui Voir le message
    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.
    Tu pourrais m'en dire plus ?

  9. #189
    Invit�
    Invit�(e)
    Par d�faut
    D'apr�s Richard Stallman :
    Mono is a free implementation of Microsoft's language C#. Microsoft has declared itself our enemy and we know that Microsoft is getting patents on some features of C#. So I think it's dangerous to use C#, and it may be dangerous to use Mono. There's nothing wrong with Mono. Mono is a free implementation of a language that users use. It's good to provide free implementations. We should have free implementations of every language. But, depending on it is dangerous, and we better not do that.
    C# n'est pas vraiment portable, Microsoft ne propose pas d'environnement pour programmer en C# ailleurs que sous Windows � ma connaissance et utiliser Mono n'est pas sans risque l�gal. Au moins, avec Java, on a un JDK de Sun pour Linux, Solaris et Windows d'un c�t� et un JDK d'Apple pour Mac OS X de l'autre. On a aussi l'OpenJDK, je connais des gens qui arrivent � s'en servir sous OpenBSD donc on va encore plus loin en terme de portabilit�.

    Citation Envoy� par kuzco Voir le message
    Java Quick Start apparu dans la version 1.6.0_u10 devrait am�liorer ce point (je n'ai pas encore test�).
    Le Java Kernel et Java Quick Start ne sont pas encore tr�s au point, c'est pas assez stable selon moi mais �a devrait s'arranger. C'est quand m�me bien, seulement 3 Mo � t�l�charger la premi�re fois, �a rapproche de Flash (2.2 Mo je crois).

    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?
    Derni�re modification par Sendusha ; 07/05/2011 � 13h46.

  10. #190
    Membre �prouv�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par d�faut
    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 . . .

  11. #191
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Je ne vois pas pourquoi C# serait plus rapide que Java.
    D�j�, quand le langage lui-m�me supporte des concepts permettant d'�viter une allocation m�moire dynamique � chaque manip, �a aide.
    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.

  12. #192
    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 M�dinoc Voir le message
    D�j�, quand le langage lui-m�me supporte des concepts permettant d'�viter une allocation m�moire dynamique � chaque manip, �a aide.
    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...
    En java on manipule des r�f�rences : donc bien que tous les passages se fassent par copie cela revient au m�me ou presque (on copie une r�f�rence et non pas l'objet ).

    [edit] Donc je ne comprend pas o� tu vois les allocations "� chaque manip"...

    Citation Envoy� par M�dinoc Voir le message
    Tu auras beau am�liorer les performances de ton allocateur, �a sera toujours plus lent que sans...
    En Java comme en C#, dans la majorit� des cas, le co�t de l'allocation est d�risoire en comparaison des autres langages. Tout cela pour une simple raison : il n'y a pas d'acc�s au syst�me et donc aucune interruption...


    a++

  13. #193
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 10 322
    Par d�faut
    Citation Envoy� par adiGuba Voir le message
    En java on manipule des r�f�rences : donc bien que tous les passages se fassent par copie cela revient au m�me ou presque (on copie une r�f�rence et non pas l'objet ).

    [edit] Donc je ne comprend pas o� tu vois les allocations "� chaque manip"...


    En Java comme en C#, dans la majorit� des cas, le co�t de l'allocation est d�risoire en comparaison des autres langages. Tout cela pour une simple raison : il n'y a pas d'acc�s au syst�me et donc aucune interruption...


    on dirait surtout que tu n'as pas compris (voulu comprendre ?) les propos cit�s ci-dessus
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  14. #194
    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 gorgonite Voir le message
    on dirait surtout que tu n'as pas compris (voulu comprendre ?) les propos cit�s ci-dessus
    Si je ne me trompe pas, les types valeurs correspondent � un type primitif dont les valeurs peuvent �tre limit�, et auquel on peut associer des m�thodes comme un vrai objet. J'en comprend tr�s bien l'int�r�t et les avantages que cela peut apporter... mais pas vraiment au niveau de l'optimisation de l'allocation m�moire

    Mais je ne dis pas non � un exemple


    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++

  15. #195
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    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:
    • En .Net, DateTime est un type valeur qui correspond tout simplement � un long, donc aucune allocation dynamique n'a eu lieu. C'est comme si chaque fonction avait retourn� un long.
    • En Java, � chaque op�ration on a fait un new Date, donc une allocation dynamique.



    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.

  16. #196
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par deadalnix Voir le message
    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
    Marginaux? Je ne crois pas, l'exemple que je viens de donner est un jeu vid�o en 3D certes aux graphismes "vieux" en comparaison des standards actuels mais s'inspirant du moteur d'un jeu commercial et l'INRIA a fait des tests pouss�s sur du calcul intensif (voir "Current State of Java for HPC").

    Citation Envoy� par M�dinoc Voir le message
    [*]En Java, � chaque op�ration on a fait un new Date, donc une allocation dynamique.
    Si tu veux bosser sur un long, tu fais getTime() sur une date que tu as d�j� ou bien System.currentTimeInMillis() et tu as ce qu'il faut.

    Sinon, tu peux faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    Calendar c=Calendar.getInstance();
    c.roll(Calendar.HOUR,2);
    c.roll(Calendar.MINUTE,3);
    c.roll(Calendar.SECOND,10);
    et dans ce cas, tu as une seule allocation, pas une allocation par op�ration.
    Derni�re modification par Invit� ; 29/12/2008 � 13h03.

  17. #197
    Membre �m�rite

    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    862
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 862
    Par d�faut
    D�sol� de couper dans les �changes sur les types valeur, mais j'aimerais quand m�me r�pondre � �a :

    Citation Envoy� par gouessej Voir le message
    C# n'est pas vraiment portable, Microsoft ne propose pas d'environnement pour programmer en C# ailleurs que sous Windows � ma connaissance et utiliser Mono n'est pas sans risque l�gal. Au moins, avec Java, on a un JDK de Sun pour Linux, Solaris et Windows d'un c�t� et un JDK d'Apple pour Mac OS X de l'autre.
    Le risque l�gal me para�t quand m�me tr�s tr�s faible.
    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 Envoy� par gouessej Voir le message
    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.
    Parce que m�me si .Net et Java reposent sur le m�me principe, les impl�mentations diff�rent sur quelques points (boxing/unboxing, virtual, etc...), il est donc normal que l'on puisse observer des diff�rences.

    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...

  18. #198
    Membre chevronn�
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par d�faut
    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.

  19. #199
    Invit�
    Invit�(e)
    Par d�faut
    Citation Envoy� par Keihilin Voir le message
    Le risque l�gal me para�t quand m�me tr�s tr�s faible.
    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.
    L� n'est pas le probl�me. A ma connaissance, 89% des postes client sont sous Windows, moi je ne parlais pas de �a, j'�voquais les risques autour de Mono pour d�velopper en C# sur d'autres syst�mes d'exploitation.

    Citation Envoy� par Keihilin Voir le message
    Parce que m�me si .Net et Java reposent sur le m�me principe, les impl�mentations diff�rent sur quelques points (boxing/unboxing, virtual, etc...), il est donc normal que l'on puisse observer des diff�rences.

    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...
    C'est de l'intuition pour l'essentiel,
    l'intuition et le bon sens ne font pas la science
    (je crois que c'est de Claude All�gre). J'ai montr� un benchmark avec les limites que �a a. Si Java peut aller l�g�rement plus vite que des langages natifs sur des exemples non triviaux (un jeu vid�o en 3D), il est l�gitime que je pose la question concernant C#. imadin a cit� un benchmark fait dans de mauvaises conditions avec une vieille machine virtuelle (1.4 c'est pas tout jeune), une m�thode de mesure discutable (currentTimeMillis est peu pr�cise sous Windows) et une option de compilation inutilis�e depuis des lustres pour dire que Java est 2 � 3 fois plus lent que C#, voil� la question que je vous pose :
    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?

  20. #200
    Membre �m�rite

    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    862
    D�tails du profil
    Informations personnelles :
    �ge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 862
    Par d�faut
    Citation Envoy� par bricecol Voir le 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.
    Ah ? Et tu ne penses pas qu'il y a un petit paradoxe entre avouer ne pas �tre du tout objectif et s'offusquer � propos des critiques sur l'argumentation ?


    Citation Envoy� par bricecol Voir le message
    Deuxi�me point : Je fais tout � fait la diff�rence entre un
    environnement de d�veloppement et un langage de programmation
    .
    Heureux de l'apprendre car cela n'�tait pas �vident dans ton premier message.

    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 Envoy� par bricecol Voir le message
    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...
    On ne se permettrait pas, d'autant plus que tu y arrives tr�s bien tout seul.

    Citation Envoy� par bricecol Voir le message
    Je ne pense pas avoir bless� qui que ce soit,
    ayez donc un minimum de respect envers cela.
    Le respect �a commence par ne pas d�barquer dans un d�bat en ayant oubli� son objectivit� � la maison et en lan�ant des lieux communs erron�s et des trolls � tout va, le tout ponctu� de M$ dans chaque phrase.

    Bonne journ�e � toi aussi.

Discussions similaires

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

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