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. #1001
    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 518
    Points
    41 518
    Par défaut
    La même chose est faite par le debugger, d'ailleurs: Les propriétés sont évaluées, les getters non.
    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.

  2. #1002
    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
    J'avais mal compris ta première intervention Bluedeep. D'où le sarcasme qui suivit :p

  3. #1003
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    La sérialisation peut aussi passer par les champs...Je ne vois pas trop l'inconvénient...

  4. #1004
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Citation Envoyé par B.AF Voir le message
    La sérialisation peut aussi passer par les champs...Je ne vois pas trop l'inconvénient...
    Pas en .NET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class MyClass
    {
        private int _myField;
    
        public int getMyField(){return _myField;}
        public void setMyField(int value){_myField=value;}
    }
    Ne sera pas sérialisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class MyClass
    {
        public int MyField {get;set;}
    }
    Le sera

  5. #1005
    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 518
    Points
    41 518
    Par défaut
    La sérialisation XML passe uniquement par les champs publics modifiables en .Net.

    Avec la vraie sérialisation, tu peux faire ce que tu veux (mais il faut implémenter l'interface ISerializable et le constructeur de désérialisation).
    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.

  6. #1006
    Membre averti
    Inscrit en
    Août 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 307
    Points : 378
    Points
    378
    Par défaut Besoins d'un "visual studio" en java?
    Salut à tous.
    D'abord j'ai beaucoup hésité s'il me fallait poser ma question dans le cours de ce thread, ou bien s'il me fallait ouvrir un nouveau thread. Bon j'ai pris une décision, je reste ici.
    Voici ma question. J'ai déjà beaucoup entendu dire que un des véritables problème de Java est l'absence d'un véritable RAD à l'instar de visual studio de l'environnement .Net

    Quelqu'un peut il me dire (ou bien me donner un lien vers une étude comparée) ce qui se fait simplement, rapidement dans l'environnement VS et qu'aucun n'environnement en Java ne fait avec le même niveau de productivité?
    Merci

  7. #1007
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par kisitomomotene Voir le message
    Salut à tous.
    D'abord j'ai beaucoup hésité s'il me fallait poser ma question dans le cours de ce thread, ou bien s'il me fallait ouvrir un nouveau thread. Bon j'ai pris une décision, je reste ici.
    Voici ma question. J'ai déjà beaucoup entendu dire que un des véritables problème de Java est l'absence d'un véritable RAD à l'instar de visual studio de l'environnement .Net

    Quelqu'un peut il me dire (ou bien me donner un lien vers une étude comparée) ce qui se fait simplement, rapidement dans l'environnement VS et qu'aucun n'environnement en Java ne fait avec le même niveau de productivité?
    Merci
    Bonne question, il y a foultitude d'outils sous Java, et c'est à la fois un avantage et un inconvénient, avantage parce qu'on peut choisir plus efficacement en fonction des besoins, mais inconvénient parce qu'il faut chercher le meilleur outil et que d'année en année ça peut bouger.

    Pour la question du RAD purement graphique, il y en a eu un certain nombre , mais ça n'a jamais trop marché, et je n'y crois pas trop, ça génère du code inbouf... et les contraintes techniques liés à ces outils nous obligent à tripatouiller le code généré.
    De ce cote celui que j'ai connu je crois que c'était visualage pour générer du swing (c'est loin j'ai un peu oublié)

    Pour la question de la productivité en revanche, il y a beaucoup de technologie pour simplifier la création des pages, à coup de template. (du coup c'est plus orienté web,) Les dernières technologies Web que j'ai vu pour se simplifier la vie:
    jQuery
    GWT
    le framework Play2 (tout nouveau)
    JSF et ses implémentations (mais je me demande si c'est très utilisé)

    note que pour ce que j'ai cité c'est une technologie ou l'autre, il ne vaut mieux pas toutes les mélanger

  8. #1008
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 917
    Points
    2 917
    Par défaut
    Effectivement, je pense que Visual Studio est globalement plus efficace que les outils java existants pour du RAD au sens drag & drop de composants dans un designer pour créer un écran très simple en 2 temps 3 mouvements.

    En revanche puisqu'on parle de productivité, le même Visual Studio est quand même bien à la ramasse pour tout ce qui est assistance à l'écriture de code, refactoring et navigation dans le code comparé à un IntelliJ ou même un Eclipse. Il faut se payer des add-on comme Resharper si on veut atteindre à peu près le même niveau d'expérience de dev.

  9. #1009
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Pas en .NET

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class MyClass
    {
        private int _myField;
    
        public int getMyField(){return _myField;}
        public void setMyField(int value){_myField=value;}
    }
    Ne sera pas sérialisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class MyClass
    {
        public int MyField {get;set;}
    }
    Le sera
    Je viens de voir cela, mais je veux pas verser dans le cours. Sérialiser, c'est écrire un état d'objet dans un stream, quel que soit le format, quel que soit l'information. En quoi je ne peux pas sérialiser un champs si je le fais explicitement ??????

    Et autre point, je ne vois pas vraiment l'utilité d'écrire des méthodes pour le get / set en C#; mais bon je suis ouvert à tout...

    D'où plusieurs implémentation en .Net dont une qui me semble sérialiser les fields ????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    [DataContract]
    class MyObject {
        public MyObject(Guid id) { this.id = id; }
        [DataMember(Name="Id")]
        private Guid id;
        public Guid Id { get {return id;}}
    }

  10. #1010
    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 518
    Points
    41 518
    Par défaut
    Ce n'est pas ce que Nathanael Marchand voulait dire: Son post expliquait que dans le cas de la sérialisation XML comme celle utilisée pour les web services, seuls les membres publics (champs ou propriétés) modifiables seront sérialisés.

    Dans ce que j'appelle la "vraie" sérialisation de .Net, les choses sont différentes: On a droit à un vrai "constructeur de désérialisation", permettant de sérialiser et désérialiser les membres readonly.

    Pour la sérialisation WCF, je ne sais absolument pas si l'attribut DataMember permet de sérialiser les membres privés: Je n'ai jamais essayé, toutes mes classes WCF n'ont que des membres publics.
    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.

  11. #1011
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Pour la sérialisation WCF, je ne sais absolument pas si l'attribut DataMember permet de sérialiser les membres privés: Je n'ai jamais essayé, toutes mes classes WCF n'ont que des membres publics.
    La sérialisation fonctionne sur les champs privés et même aussi sur des propriétés privées (même si la propriété a un public get et un private set).

  12. #1012
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    [S]

    Dans ce que j'appelle la "vraie" sérialisation de .Net, les choses sont différentes: On a droit à un vrai "constructeur de désérialisation", permettant de sérialiser et désérialiser les membres readonly.
    C'est quoi un vrai sérialisation ? Ce n'est pas parce que Microsoft propose une implémentation sous format XML qu'il faut généraliser cela au langage et en faire une discussion dans un comparatif Java et C#. Ce ne sont pas des éléments du langage, mais plutôt du Framework (et là encore en java, il y a ce qu'il faut en sérialisation, y compris côté proto buff)

  13. #1013
    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 518
    Points
    41 518
    Par défaut
    Ce que j'appelle la "vraie" sérialisation de .Net, c'est le système utilisant:
    • L'attribut Serializable
    • Optionnellement, l'interface ISerializable et les types qui vont avec (SerializationInfo, StreamingContext et le constructeur de désérialisation) pour les types qui ne sont pas triviaux à sérialiser.

    Là il ne s'agit pas de "sérialisation XML" mâchée avec attributs, mais d'un système permettant de sérialiser ce que tu veux et surtout de construire en désérialisant (par opposition à construire puis désérialiser, ce que font la sérialisation XML et COM). Indispensable pour les types comprenant des variables readonly.

    PS: Si l'on se limitait aux éléments du langage, C# l'aurait depuis longtemps emporté sur Java. C'est la plate-forme entière qu'il faut considérer.
    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. #1014
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Citation Envoyé par B.AF Voir le message
    C'est quoi un vrai sérialisation ? Ce n'est pas parce que Microsoft propose une implémentation sous format XML qu'il faut généraliser cela au langage et en faire une discussion dans un comparatif Java et C#. Ce ne sont pas des éléments du langage, mais plutôt du Framework (et là encore en java, il y a ce qu'il faut en sérialisation, y compris côté proto buff)
    Pour rappel, il s'agit bien d'un comparatif des technologies : plateforme / framework / langage
    D'ailleurs, il devient difficile de séparer langage et framework dans des "langages" aussi évolué. Par exemple sous Java, le package java.lang fait complétement partie du langage !
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  15. #1015
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Points : 0
    Points
    0
    Par défaut
    rien de pire qu'un langage avec des "packages"

  16. #1016
    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 085
    Points
    2 085
    Par défaut
    Citation Envoyé par sybil Voir le message
    rien de pire qu'un langage avec des "packages"
    Magnifique troll, aucune justification.

  17. #1017
    Membre averti Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Points : 314
    Points
    314
    Par défaut
    Citation Envoyé par sybil Voir le message
    rien de pire qu'un langage avec des "packages"
    je ne vois rien de dérangeant qu'un langage utilise des packages au contraire je trouve ça super ça permet aux développeurs de se retrouver c'est comme si tu rentrais dans une bibliothèque où les livres ne sont pas rangés par spécialité, tome et autres. ce serait un foutoir pour trouver un livre dis toi que les packages aussi sert à ça
    Si ce message vous a aidé, pensez à voter pour lui !
    Pensez au si votre problème est résolu

    Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent on en cherche

  18. #1018
    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 518
    Points
    41 518
    Par défaut
    En plus, .Net a les deux: Namespaces et Assemblys.
    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.

  19. #1019
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Citation Envoyé par sybil Voir le message
    rien de pire qu'un langage avec des "namespaces"
    tu avais fait un petite faute de frape que j'ai corriger pour toi :p

  20. #1020
    Membre éclairé

    Homme Profil pro
    Architecture logiciel
    Inscrit en
    Janvier 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecture logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 103
    Points : 713
    Points
    713
    Par défaut
    Choisir .net (WCF, WF, etc.) c'est aussi choisir Microsoft et tout son écosystèmes : SQL Server, BizTalk (HIS, ESSO, etc.), TFS, xCRM, MSDTC, SharePoint, etc.

    Pour que Microsoft soit intéressant pour tout le monde, il faut aussi que des boites externes puissent créer et vendre des composants. C'est donc normal que tout ne soit pas out of box.

    Ensuite choisir MS, c'est avoir la possibilité d'avoir des extensions de support de produits de plus de 10 ans. Généralement dans l'open source, les projets sont abandonnés ou des changements majeurs sont effectués ce qui casse la compatibilité des versions.

    Bref quand je dois parler à des environnements centraux et migrer 12000 postes d'une version n d'un logiciel à sa version n+2 (voir 3 ou 4), j'ai le support de Microsoft pour analyser tous les impacts.

    Avant aussi j'étais pour le tout gratuit, force est de constater que dépasser un certain volume, un certain délai, le gratuit coûte cher.

Discussions similaires

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

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