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

Dotnet Discussion :

Java ? Pourquoi pas


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut Java ? Pourquoi pas
    Bonjour à toutes et tous.

    Pour vous mettre dans le contexte, je suis développeur .Net depuis bientôt 10 ans et pour des raisons professionnelles je me dirige actuellement vers le langage JAVA pour acquérir la double compétence.

    Je souhaiterais savoir si l'un d'entre vous est déjà passé du .Net à Java .
    Quelles sont les difficultés et facilités que vous pu rencontrer ?
    Avec quelle techno êtes vous le plus à l'aise ? et pourquoi ?
    Pour vous, quels sont les points forts de JAVA et de .Net ainsi que leurs faiblesses respectives ?

    Ce topic s'adresse principalement aux personnes ayant de solides connaissances en Java et .Net cependant tous commentaires constructifs m’intéresse !

    je vous remercie.

  2. #2
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut
    Vraiment personne n'a de commentaires à faire à ce sujet ?

  3. #3
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Bon, pas sur que mon commentaire soit relevant, mais c'est mieux que rien...

    Perso je suis passé de java à .NET, mais il y a bien longtemps (époque .NET 1.0, c'est dire).

    Le passage n'a pas été trop difficile, mais je pense qu'a l'époque les languages n'étaient pas aussi différent que maintenant.

    Ce qui me ferait peur maintenant c'est :

    Pas de XAML (uniquement valable pour dev client, évidemment)

    Pas de Linq ou Lambda de base (a moins de bosser sur Java 8)

    Grande fragmentation (j'ai l'impression qu'on demande beaucoup plus de connaître java X.Y avec le Framework blabla 1.2.4.3 (mais surtout pas le 1.2.4.1, c'est totalement différent) (C'est une remarque que j'ai déjà eu de plusieurs recruteurs qui me parlaient de Java, ou le client veut quelqu'un avec de l'expérience sur une version très spécifique d'un Framework et uniquement celle-là)

    Pas d'équivalent de MVC et Web API (<= pas sûr sur ce point, je n'en ai jamais entendu parler mais en même temps je ne regarde pas trop Java)

    Voilà ce qu'il me vient à l'esprit. Disons que ce sont plus des craintes point de vue UI et client pour ma part.

  4. #4
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    Bonjour,

    De la même manière que Guru Meditation je suis passé de JAVA à .Net (à l'époque de la 3.5 par contre) de façon très facile. Ce sont des langages très proche (bien que C# soit multi-paradigme et donc plus "permissif" au niveau de la syntaxe), et on passe facilement d'un langage à l'autre.

    Aujourd'hui JAVA est beaucoup plus complet que ce qu'il était à l'époque et à divergé au niveau de la syntaxe sur certains point (je pense aux lambdas au notion d'interface par défaut ect....) et te demandera de te mettre à jour sur ces divers point.

    Concernant le Framework je ferais également la même remarque que mon camarade du dessus, à savoir que la rétrocompatibilité est devenu un boulet plus qu'un avantage, même si une uniformisation s'est opéré à partir de la 1.5

    Pour finir, je te dirais que tu passera plutot facilement d'un langage à l’autre, mais tu sera obligé de te former sur les technos spécifique à chacun car la plus grosse difficultés sur JAVA est le choix de ceux-ci et Framework à utiliser qui sont légions (difficulté plutôt récurrente dans le monde dit "libre" ou la liberté de choix est à double tranchant (ceci n'engage que moi)).

  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour finir, je te dirais que tu passera plutot facilement d'un langage à l’autre, mais tu sera obligé de te former sur les technos spécifique à chacun car la plus grosse difficultés sur JAVA est le choix de ceux-ci et Framework à utiliser qui sont légions (difficulté plutôt récurrente dans le monde dit "libre" ou la liberté de choix est à double tranchant (ceci n'engage que moi)).
    Java et C# sont 2 langages objets basés sur des concepts semblables, donc je ne vois pas de difficulté particulière sur ce plan.
    Le gros problème viendra effectivement des choix jamais évidents des bibliothèques tierce partie et de leur différentes versions avec leur lot de problèmes de dépendances, de compatibilité ou d'installation.

  6. #6
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Java et C# sont 2 langages objets basés sur des concepts semblables, donc je ne vois pas de difficulté particulière sur ce plan.
    Le gros problème viendra effectivement des choix jamais évidents des bibliothèques tierce partie et de leur différentes versions avec leur lot de problèmes de dépendances, de compatibilité ou d'installation.
    C'est pour cela que je différencie le langage c#/JAVA des techno WPF/JAVAFx par exemple.

    Edit : Après relecture, tu appuyais mon point il me semble.

  7. #7
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Moi aussi je suis passé de Java au côté obscure il y a quelques années un peu par hasard, et on ne peut pas lutter contre le destin.
    J'ai retouché ponctuellement à Java depuis en pointillé.

    Je n'ai jamais été un expert Java mais j'ai eu un niveau correct que je reperds rapidement bien sûr à chaque fois que je prends un peu de distance.

    Par rapport à Java ce que j'apprécie en .Net c'est l'environnement de développement qu'est Visual Studio, notamment l'expérience de debug qui tient tant à la conception de la plateforme .Net qu'à VS lui-même.
    En Java j'ai commencé avec JBuilder puis j'ai beaucoup bossé sur Eclipse, un peu sur NetBeans, et bien qu'ils fassent tous correctement le job je n'ai jamais été aussi productif qu'avec VS.
    Généralement tout se plug bien comme il faut; facile me direz-vous pour un IDE au scope si "limité" mais quand même c'est agréable.

    Du point de vue technique C# est resté LE langage mainstream pendant des années en raison du développement anémiques de ses concurrents Java et C++ qui ont tous deux souffert du même "problème" : devoir mettre toute une communauté d'accord, faire, défaire, refaire, troller, les spécifications à l'infini.
    Microsoft de son côté ne s’embarrassait pas de ça et avait un process décisionnel bien plus léger et pragmatique pushant version après version en un flux soutenu.
    Une des features les plus représentatives de cet état de grâce pour .Net et C# a été LINQ qui bien que pas révolutionnaire a été parfaitement intégré à .Net, aux langages, aux sous-frameworks et aux outils pour en faire une killer-feature (ça aurait été beaucoup plus difficile voire impossible dans l'écosystème Java où 36 décisionnaires auraient été impliqués).
    Les lignes ont pas mal bougé depuis avec C++ 11 et Java 8 donc les choses sont moins évidentes désormais et il peut de nouveau y avoir débat/troll sur quel est le "meilleur" langage.
    Mais il y a de fortes chances pour que tu te retrouves dans des environnements contraints à Java 5 ou 6 donc clairement tu vas perdre par rapport à C#.

    Concernant l'écosystème .Net c'est mi-figue mi-raisin.

    Une bonne partie des devs, dont moi, et décisionnaires surtout, aiment bien le fait d'avoir tout intégré dans une seule plateforme.
    Microsoft a bien compris ce besoin de ses clients et a tenté d'y répondre en réinventant souvent la roue mais ne s'est clairement pas toujours donné les moyens de ses ambitions et a parfois fait preuve d'amateurisme.

    L'exemple le plus flagrant est Entity Framework (ORM) qui a eu un démarrage poussif et n'est devenu un outil complet que depuis 2012 plus de 6 ans après NHibernate :
    - la 1ère fois que j'ai tenté de l'utiliser c'était en 2009 : un bousin pas possible et en cherchant sur le net et en tombant sur ADO .NET Entity Framework Vote of No Confidence j'ai vite compris que je n'était pas le seul (c'est la seule fois où j'ai vu une telle bronca d'une communauté de développeurs) => j'ai utilisé LINQ to SQL qui a fait le job en 2-2
    - ma seconde tentative en 2011 : ça marchait oui mais encore de la tuyauterie inutile, un workflow contraignant => je tente NHibernate à tout hasard (je connaissais Hibernate sous Java) => banco! plug-and-play!
    - dernière tentative : 2013 et là miracle je retrouve la simplicité et la puissance de NHibernate (en grande partie grâce à Code First et au DataContext) et c'est top, et je conseille désormais EF.

    De même pour le logging j'avais voulu utiliser les outils de l'Entreprise Library : bien en deçà de log4net (notamment en termes de perf et de store) => utilisation de ce dernier.

    Pour les tests en 2011 j'ai testé les outils intégrés à VS : ça marchait quand ça voulait => TestDriven qui avait déjà qq années d'expérience et ne nous a jamais fait défaut; plus récemment je suis revenu aux outils intégrés avec VS 2013 et ils sont désormais nickels.

    De même pour des raisons de planning marketing Microsoft sort parfois de "fausses" versions 1.0 des outils : de jolies démos lors des events mais bizarrement en prod avec de vraies problématiques ça ne marche plus pareil :/, et il faut attendre la version 2.0 (en fait la vraie 1.0) pour que ça passe.
    Je pense notamment à WPF qui n'intégrait pas de DataGrid à sa sortie et qui était dispo dans le Toolkit avec d'autres composants bien utiles, et qui souffrait aussi de problèmes de perf.

    Je ne parle même pas des erreurs stratégiques comme Silverlight (réinvention de Flash) ou XPS (réinvention de PDF).
    Par exemple en 2009 suite au marketing agressif de Microsoft sur Silverlight mon équipe a décidé de s'y mettre pour des applis intra avec la perspective d'un déploiement externe plus tard.
    En 2011 j'ai remonté à ma hiérarchie la communication étrange de Microsoft qui mettait notamment le paquet sur HTML 5 afin que nous arrêtions les devs Silverlight.
    Ce fût la bonne décision : les "funérailles" de Silverlight eurent lieu en 2012/2013 (on attend toujours les funérailles officielles de XPS ).
    J'ai eu des "sueurs froides" l'année dernière avec l'effort accru sur WinRT, le retour en grâce de C++, l'investissement dans JavaScript pour le desktop, et d'autres news qui mettaient clairement .Net un peu en retrait; mais j'ai été rassuré récemment avec les annonces concernant ASP.Net MVC.

    Donc pour moi la principale difficulté avec .Net c'est que Microsoft brouille les cartes pour des raisons commerciales.
    Maintenant que je suis plus expérimenté je sais à quoi m'en tenir.

    Dans le monde Java personne ne te poussera vraiment à acheter ses produits, du moins personne qui peut avoir l'aura de Microsoft auprès des développeurs et décisionnaires.
    Du moins c'est ce que j'ai toujours ressenti et apprécié, les décisions sont prises de façon plus sereines.
    Mais bon ça reste très subjectif et j'aurai peut être d'autres griefs envers Java si je l'utilisais plus.

    J'ai apprécié l'ambition récente de Microsoft d'être vraiment cross-platform (bien que Mono ait déjà permis d'aller assez loin dans ce domaine : un serveur Jenkins sous Linux pour l'intégration continue et les batch .Net oui c'est possible je l'ai fait et j'ai vu que je n'étais pas le seul ) et je pense que désormais .Net est une plateforme crédible pour les devs cross-platform, ce qui a longtemps été la chasse gardée de Java.

    Au niveau techno pour l'UI Java revient aussi de loin en revoyant complètement sa stratégie avec de nouvelles orientations pour JavaFX qui va peut être enfin décoller.
    Mais là encore tu risques de ne pas pouvoir en bénéficier et regretter WPF.


    J'aimerais connaître les raisons qui te font passer à Java, ton projet plus précisément, si ce n'est pas indiscret bien sûr, parce que j'ai souvent constaté l'inverse et ça semble confirmé par les posts précédents.

  8. #8
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut
    Merci pour vos réponses et en particulier Pragmateek.

    Citation Envoyé par Pragmateek
    J'aimerais connaître les raisons qui te font passer à Java, ton projet plus précisément, si ce n'est pas indiscret bien sûr, parce que j'ai souvent constaté l'inverse et ça semble confirmé par les posts précédents.
    Pour te mettre dans le contexte, une grosse application Java ( ERP maison) a été développée il y a 8 ou 9 ans dans ma boite.
    L'année dernière il y a un changement de direction à la DSI.
    Le nouveau DSI voyant Java comme une techno étant lentement sur le déclin et donc n’étant pas une plateforme d'avenir a long terme, à engager un processus de changement pour basculer petit a petit sur la plateforme .Net et c'est la que j'ai été embauché.

    Le soucis c'est qu'il y a quelques mois il y a eu encore un changement de direction, et le nouveau DSI ne comprenant pas la stratégie de l'ancien DSI n'a pas voulu rester sur la plateforme .Net et a annulé tous les projets .Net pour continuer a développez sur Java.

    Et malgré moi j'ai du me mettre au Java.

    J'ai le sentiment d'avoir perdu énormément de facilités que j'avais avec .Net et j'ai l'impression après avoir eu une formation, que Java a un retard significatif par rapport c#.

    Justement quel est ton point de vue à ce sujet ?

Discussions similaires

  1. Java ? Pourquoi pas
    Par M_Makia dans le forum Débuter avec Java
    Réponses: 13
    Dernier message: 05/06/2014, 22h43
  2. UI en Java, pourquoi pas comme .NET ?!
    Par Aizen64 dans le forum Débuter
    Réponses: 2
    Dernier message: 27/09/2008, 21h32
  3. Pourquoi pas une interface "Immutable" en Java ?
    Par g_rare dans le forum Langage
    Réponses: 6
    Dernier message: 02/02/2007, 07h19

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