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

Langages de programmation Discussion :

Apprendre le Java pour éventuellement passer ensuite à C#, bonne ou mauvaise idée ?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut Apprendre le Java pour éventuellement passer ensuite à C#, bonne ou mauvaise idée ?
    Bonsoir,

    Je me demandais si apprendre le Java pour éventuellement passer ensuite à C# (dont j'entends aussi beaucoup parler) était une bonne idée ?

    Les raisons qui me poussent à cela sont entre autres qu'il y a beaucoup de ressources en français pour apprendre Java, que les outils de développements sont performants et gratuits et bien sûr que ces deux langages ont semble-t-il beaucoup de points communs.

    Il y a aussi le fait que j'ai de toute façon du mal à choisir un langage de programmation par conséquent en procédant ainsi je me dis que j'aurais au moins goûter à Java ce qui serait toujours un plus.

    J'ai l'impression qu'il est possible d'acquérir de bonnes bases avec Java mais en réalité je ne m'y connais pas suffisamment pour faire un choix en connaissance de cause d'où cette présente discussion que j'ouvre pour vous demandez ce que vous en pensez...

    Alors qu'en pensez-vous ?

    Merci.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    La logique sous-tendue est similaire. C#, d'ailleurs, est au départ destiné à contrer Java. Il permet donc de faire approximativement les mêmes choses, approximativement de la même manière.

    Par contre, les détails changent. Comme tout changement de langage, il nécéssite de changer plein d'habitudes. Mais ça ne sera pas une torsion du cerveau, comme de passer de Cobol à Lisp, par exemple.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 97
    Par défaut
    Quel est objectif ? Est-ce que c'est pour appliquer ses connaissances dans son travail ou pour améliorer son niveau de programmation en général ?

    Si c'est pour le 2e objectif, je propose une solution plus décalée. Apprendre l'Haskell ou tout autre langage fonctionnel pure. Pourquoi ? Tout simplement pour améliorer sa capacité d'abstraction, apprendre à tirer partie du Système de typage, à bien poser le problème et pleins d'autres choses.

    Java et C# n'ont pas tant de choses que ça offrir (Leur librairies par contre sont tops). C# (dans sa version 3.0 minimum) offre cependant quelques friandises comme les lambdas expressions et LinQ (les devs de langages fonctionnels ont directement vu que c'était la Monad List "castrée" qui se cachait derrière )

    IMHO, Non encadré, ces langages laissent prendre de (très) mauvaises habitude comme l'utilisation abusive de l'héritage au lieu de la composition par exemple.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Bonsoir,

    Merci à vous deux et +1 à vous deux pour la peine...

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 36
    Par défaut Dan quel environnement développe tu?
    Si tu as l'habitude de travailler dans un environnement Windows alors va directement à C# afin d'être déjà immédiatement productif dans cet environnement. C# bénéficiant d'une mega-entreprise comme Microsoft derrière lui a beaucoup de tutos de cours et autres versés à profusion sur le net. Il bénéficierait des atouts de Java et C++ selon Microsoft.

    Ensuite après une bonne connaissance de C# tu peux si tu veux passer à java pour bénéficier des privilèges d'un langage portable.

  6. #6
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Je dirais que pour C# il y a aussi de bons outils performants et gratuits (la version express de VS) et pas mal de ressources en français. Il ne me semble pas nécessaire de passer par la case Java pour aller vers C#.

    Quant à sauter rapidement de l'un à l'autre, non. La syntaxe et la sémantique sont souvent proches voire identiques. Mais apprendre un langage comme C# ou Java c'est d'abord apprendre une plateforme et ses milliers de types et ses dizaines de milliers de fonctions. Et sur ce plan là les similarités existent mais sont beaucoup moins nombreuses.

    Je crois plutôt qu'il faut choisir l'un des deux et s'y investir, d'autant que leurs usages se recoupent rarement : on peut avoir besoin dans un même projet de C#, C++, javascript et python mais je n'ai encore jamais vu de projet où l'on aurait à la fois besoin de C# et Java. Quant à savoir lequel choisir, les deux ont leurs avantages. Personnellement je préfère de loin C# : d'abord parce qu'il est né plus propre en apprenant des erreurs commises par java, ensuite parce que MS a déployé son énorme machine pour apporter tout un tas de choses sexy (aspects fonctionnels, graphes d'expression, inférence de type, typage dynamique, bientôt un "compiler as a service" prometteur, etc) que Java copie avec quelques années de retard : de plus en plus, à lire les changelogs de Java, j'ai l'impression de lire celles de dotnet d'il y a quatre ans. Il n'est évidemment pas parfait mais, de tous les langages, c'est celui avec le moins de points noirs, celui qui me rend le moins amer, me force à faire le moins de compromis et me bride le moins. Une vraie réussite de MS.

    Maintenant, en termes d'emplois, Java est devant me semble t-il. Et l'avenir du mobile dira dans quel sens les choses évolueront. Pour l'instant l'inertie est en faveur de Java même si MS est bien décidé à inverser la tendance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un livre pour apprendre le Java EE 7
    Par zakii2plus dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 24/06/2015, 16h10
  2. Comment apprendre Java pour faire du développement web
    Par mlaiti dans le forum Développement Web en Java
    Réponses: 14
    Dernier message: 09/02/2008, 17h09
  3. Réponses: 3
    Dernier message: 06/06/2007, 09h18
  4. [débutant]ou mettre un fichier java pour une appli jsp?
    Par zozolh2 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2004, 15h20
  5. java pour gsm
    Par matterazzo dans le forum Développement Mobile en Java
    Réponses: 3
    Dernier message: 11/11/2003, 02h52

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