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

Débats sur le développement - Le Best Of Discussion :

[Débat] Technologie .NET vs JAVA


Sujet :

Débats sur le développement - Le Best Of

  1. #821
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par millie Voir le message
    Tu ne réponds pas vraiment à la question... (ou bien j'ai rien compris à ce que tu as dit)
    Il me semble déjà avoir répondu oui c'est pauvre c'est cible nux ou win c'est pauvre 2 choix seulement comme base d'os fondamental. Pour ce que tu ne comprends pas c'est simple, le niveau de portabilité, en prenant le parc réel de machine, est identique du point de vue du pro java ou du pro dotnet.

    J'arrête ici sinon on va encore dire que c'est du troll, en plus linux vs windows, parce que si tu comptes pour portable un programme qui tourne sur 2 versions différentes à base linux effectivement il y a tellement de version comparé à une base windows.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  2. #822
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par hegros Voir le message
    Il me semble déjà avoir répondu oui c'est pauvre c'est cible nux ou win c'est pauvre 2 choix seulement comme base d'os fondamental.
    C'est quoi les autres OS auquels tu penses sur les stations et serveurs ?
    Je ne répondrai à aucune question technique en privé

  3. #823
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par millie Voir le message
    C'est quoi les autres OS auquels tu penses sur les stations et serveurs ?
    Vraiment vous insistez mais je ne vois pas où vous voulez en venir
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  4. #824
    Membre chevronné

    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2004
    Messages : 758
    Points : 2 084
    Points
    2 084
    Par défaut
    Citation Envoyé par hegros Voir le message
    Vraiment vous insistez mais je ne vois pas où vous voulez en venir
    Je suis comme Millie, je te renvois ta remarque.

  5. #825
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par hegros Voir le message
    Vraiment vous insistez mais je ne vois pas où vous voulez en venir
    Si tu trouves que les dérivées d'UNIX et Windows sont pauvres comme "base d'os fondamental" pour le JDK de Java. Je cherche à comprendre quelles sont les OS auxquels tu penses afin que le choix soit moins pauvre.

    D'où ma question :
    - Quelles sont les OS pour lesquels il n'y a pas de JDK ? (toujours pour les stations et les serveurs) Ou autrement reformulé : Quels OS nécessiteraient un JDK pour que tu considères l'offre comme moins pauvre ?
    Je ne répondrai à aucune question technique en privé

  6. #826
    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
    Je reprend la discussion sur les properties et les évolutions du langage en général...

    Citation Envoyé par Keihilin Voir le message
    Si le prix d'une approche pas trop restrictive est un légère lourdeur consistant à laisser cohabiter les deux possibilités, est-ce vraiment si cher payé ?
    Soit les properties génèreront des méthodes getter/setter "standard", et dans ce cas on se rapproche plus d'un sucre syntaxique.
    Soit les properties sont bien distincte, et cela impliquerait de coder des getter/setter en plus pour utiliser ses classes avec des librairies externes non-compatible...

    Citation Envoyé par Keihilin Voir le message
    Je me doutais bien que certains problèmes devaient se situer au niveau reflexivité, mais ça ne me paraît pas insurmontable.
    Je ne dis pas que c'est insurmontable !
    Je dis simplement que cela risque d'apporter de nouveau problème, pour un gain qui n'est pas forcément extraordinaire.

    Attention je ne dis pas que les properties sont inutiles (loin de là), mais simplement que ce n'est pas vraiment une fonctionnalité révolutionnaire...

    Citation Envoyé par Médinoc Voir le message
    Si tu regardes un assembly .Net avec ILDASM, tu verras que côté .Net, c'est le cas: Deux méthodes, et la "property" vient se greffer dessus comme du sucre syntaxique, mais qui passe dans les méta-données.
    Oui mais c'est intégré aux bases du langages depuis le début.
    Je suppose que ces méthodes ne sont pas appelables directement dans le code, que tu ne peux pas les redéfinir ou les surcharger... (le tout sans passer par la syntaxe des properties bien sûr.


    Bref il y a pas mal de petit détail "problématique", et comme le monde Java est plus "conservateur" cela tarde à venir (comme je l'ai dit sauf changement les properties ne devrait pas être intégré à Java 7).



    C'est vraiment dans la philosophie de Java de bien mesurer les fonctionnalités à intégrer et des conséquences que cela peut avoir.

    J'aime bien prendre l'exemple des Generics pour démontrer cela :
    • Dans Java l'implémentation des Generics a été entièrement basé sur la compatibilité. Si bien qu'on peut très bien utiliser une classe Generics avec une librairie conçus pour les versions précédentes. Ainsi l'API de Collections a été mise à jour sans casser la compatibilité.
      Bien sûr cela a nécessiter quelques
    • Dans C# l'implémentation des Generics a impliqué une incompatibilité : la nouvelle API System.Collections.Generic vient remplacer l'ancienne API System.Collections.
      C'est toutefois moins problématique vue la jeunesse du langage à l'époque.


    a++

  7. #827
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Oui mais c'est intégré aux bases du langages depuis le début.
    Je suppose que ces méthodes ne sont pas appelables directement dans le code, que tu ne peux pas les redéfinir ou les surcharger... (le tout sans passer par la syntaxe des properties bien sûr.
    En fait, en .NET, tu peux pas faire ça :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class Toto{
      int I{get{...}}
      int get_I(){...}
    }

  8. #828
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Les propriétés ne sont ni plus ni moins des fonctions. Tu peux en effet laisser le compilateur les écrire pour toi si tu fais juste du backing field, mais tu peux les redéfinir sans difficulté.

    C'est totalement prévu pour.

    Code VB.NET : 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
    Private Var1, Var2, Var3 as Boolean
     
    ''' <summary>
    ''' Get the state of System-X
    ''' </summary>
    ''' <value>The state of System-X</value>
    Public ReadOnly Property P2() as Boolean
       Get
          Return ((Me.Var1 AndAlso Me.Var2) Or Me.Var3)
       End Get
    End Property
     
    ''' <summary>
    ''' Set the user floag for the state of System-X
    ''' </summary>
    Public WriteOnly Property P2() As Boolean
       Set(value as Boolean)
          If Me.Var1 Then Me.Var2 = Value
       End Set
    End Property
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  9. #829
    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 FremyCompany Voir le message
    mais tu peux les redéfinir sans difficulté.
    Même dans une classe fille ???



    Ce que je voulais dire surtout c'est que c'est bien gérer dans le langage : la redéfinition se fait sur la property.

    En imaginant des property Java qui générerait des getter/setter (ce qui a été dit plus haut), on se retrouverait avec des cas bien moins clair...

    a++

  10. #830
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Code c# : 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
    class Mother
    {
    	public virtual string Name { get; set; }
    }
     
    class Daughter : Mother
    {
    	public override string Name
    	{
    		get
    		{
    			return base.Name;
    		}
    		set
    		{
    			base.Name = value;
    		}
    	}
    }
    Pas de souci.

  11. #831
    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
    Je crois qu'on ne se comprend pas...

    Je ne dis pas qu'il n'est pas possible de redéfinir les getter/setter des properties en .NET.
    Ce que je voulais dire surtout c'est que c'est bien gérer dans le langage : la redéfinition se fait sur la property.
    Au contraire je dis que cela fonctionne très bien en C# car c'est pensé pour dès l'origine du langage.



    En Java c'est la notion de méthode getter/setter qui était présent à l'origine du langage, et on ne peut pas s'en passer aussi facilement. Du coup l'intégration d'un système de property posent problème car il doit être "compatible" ce qui lui fait perdre beaucoup de ses avantages...

    a++

  12. #832
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Sur ce problème de properties en java, ce qui me tue ce n'est pas le manque de la fonctionnalité en soi mais le code de documentation nécessaire.

    En .Net
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /// <summary>
    /// Gets / Sets the 2 characters ISO 639-1 language code of the current user.
    /// </summary>
    public string LanguageCode
    {
        get { return _languageCode; }
        set { _languageCode = value; }
    }
    En java :
    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
        /**
         * Gets the 2 characters ISO 639-1 language code of the current user.
         * @return the language code
         */
        public String getLanguageCode()
        {
            return this.languageCode;
        }
    
        /**
         * Sets the 2 characters ISO 639-1 language code of the current user.
         * @param languageCode the language code
         */
        public void  setLanguageCode(String languageCode)
        {
            this.languageCode = languageCode;
        }
    C'est forcé si je veux que la génération de javadoc se passe correctement. Si je voulais ajouter des informations concernant la valeurs par défaut ou un seealso vers wikipedia pour la norme 639-1, je devrais le faire à 2 endroits.

    C'est pas la mort mais sur des classes d'une vingtaine de propriétés, c'est chiant à la longue de documenter 2 méthodes plus respectivement le paramètre et la valeur de retour à chaque fois.

  13. #833
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    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 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Pour la compatibilité, je verrais bien des propriétés dont on peut overrider le nom par défaut des accesseurs. Un moyen serait un truc comme ça:
    Code java : 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
    23
    24
        public String getLanguageCode()
        {
            return this.languageCode;
        }
     
        public void  setLanguageCode(String languageCode)
        {
            this.languageCode = languageCode;
        }
     
        /**
         * Gets / Sets the 2 characters ISO 639-1 language code of the current user.
         */
        public String LanguageCode
        {
            get = getLanguageCode;
            set = setLanguageCode;
        }
     
        /** Returns 42. */
        public int UneProprieteIntegree
        {
            get { return 42; }
        }
    Ou alors:
    Code java : 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
        /**
         * Gets / Sets the 2 characters ISO 639-1 language code of the current user.
         * @propertySetterName setLanguageCode
         * @propertyGetterName getLanguegeCode
         */
        public String LanguageCode
        {
            get = { return this.languageCode; }
            set { this.languageCode = value; }
        }
     
        /** Returns 42. */
        public int UneProprieteIntegree
        {
            get { return 42; }
        }
    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.

  14. #834
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Ce ne serait pas ce qui se faisait dans les outils borland à un moment?

  15. #835
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    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 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ça y ressemblait en effet, mais je ne sais plus si c'était compatible avec les propriétés COM (elles-mêmes compatibles avec .Net).
    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. #836
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Points : 929
    Points
    929
    Par défaut
    Citation Envoyé par millie Voir le message
    C'est pas comme si j'avais parlé d'OS/400, HP-UX, Mac, z/OS, AIX, IRIX, BSD, Solaris.
    Avec Windows et Linux (x86, ARM, powerpc, MIPS), ce qui correspond à 99% du marché stations et serveurs .
    ms a porté .net sur tout ces os et cpu?

  17. #837
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    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 robert_trudel Voir le message
    ms a porté .net sur tout ces os et cpu?
    Non, millie parlait de java dans ce que tu cites.
    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.

  18. #838
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Vous pensez que NET serais pas mal pour moi qui cherche un "framework universel" permettant d'utiliser un langage pour faire le plus de choses possibles (Web coté serveur, Applications desktop, "applets", etc), Ca a l'air de correspondre a ca... En plus même les linuxiens préfèrent les application Mono que java car elles sont mieux intégrés (avec GTK#)

  19. #839
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 1
    Points : 4
    Points
    4
    Par défaut debat
    On compare pas un lion a un chat bien évidement Java c'est le grand père de la plate forme .net

  20. #840
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Points : 929
    Points
    929
    Par défaut
    Citation Envoyé par kedare Voir le message
    En plus même les linuxiens préfèrent les application Mono que java car elles sont mieux intégrés (avec GTK#)
    il y a des statistique là-dessus?

Discussions similaires

  1. [Débat] .NET vs JAVA/J2EE
    Par tssi555 dans le forum VB.NET
    Réponses: 5
    Dernier message: 10/12/2008, 07h54
  2. Connexion a un service web .NET en JAVA
    Par skunkies dans le forum Services Web
    Réponses: 1
    Dernier message: 01/03/2007, 00h24
  3. [Net]socket java
    Par georges25 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 13/02/2006, 16h22
  4. Réponses: 7
    Dernier message: 06/04/2005, 19h18

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