Partage
  • Partager sur Facebook
  • Partager sur Twitter

C++ ou C# ?

Sujet résolu
    23 juin 2018 à 0:09:03

    Bonsoir, je viens de terminer ma première année de DUT Info, au cours de cette année nous avons découvert le langage de programmation JAVA et pour la rentrée nous verrons le C#..

    Durant les deux mois à venir, j'aimerais donc me mettre sérieusement à un nouveau langage mais j'hésite et plus je réfléchis à la question, plus je suis sûr d'être incertain...

    Voilà donc mon dilem, soit je me mets au C# et donc à la rentrée je suis sûr de ne pas être dépaysé ou alors de me mettre au C++ qui est de ce que l'on m'a expliqué plus performant bien que plus difficile à appréhender..

    J'aimerais donc avoir vos retours, car je suis perdu niveau décision et je pense que d'autres opinions vont certainement m'aider à prendre la meilleure décision. Merci à vous :)

    • Partager sur Facebook
    • Partager sur Twitter
      23 juin 2018 à 0:38:52

      Salut, 

      C++ ou C#... Cela dépend assez fortement du contexte, et de ce que, toi, tu veux en tirer. Ce sont deux langages assez diffèrent tout compte fait.

      C# ressemble beaucoup à Java. C'est son "successeur" pour la petite histoire. C++ sera probablement très nouveau pour toi. Si tu apprends C# à la rentrée, je serais tenté de te proposer C++, mais il faudrait en savoir un peu plus sur tes motivations.

      • Partager sur Facebook
      • Partager sur Twitter

      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

        23 juin 2018 à 0:44:43

        Salut,

        D'un point de vue tout à fait pragmatique, si tu passes les deux mois qui viennent à apprendre le C#, cela te donnera sans doute une sérieuse avance sur les cours, et donc te faciliter énormément les études.

        De plus, comme tu l'as si bien fait remarquer, C++ est un langage beaucoup plus compliqué à appréhender, au point que ce n'est pas vraiment en deux mois (à moins d'y passer huit heures par jour, cinq jour sur sept) que tu pourras atteindre un niveau suffisant pour considérer que tu le maitrise, surtout si tu le fait en autodidacte.

        Et je me doutes que tu as surement des choses bien plus intéressantes à faire de tes vacances qu'à passer tout ton temps devant un ordinateur :D

        D'un autre coté, je plaide régulièrement en faveur d'un apprentissage du C++ parmi les premiers langages à apprendre parce que c'est un langage très permissif, au point de te permettre de te tirer une balle dans le pied si tu le souhaites.

        Il présente, selon moi, l'énorme intérêt de mettre beaucoup plus le développeur face à ses responsabilités en terme de choix conceptuels que d'autres langages. 

        Sans oublier le fait que, comme il s'agit d'un des rares langages de programmation qui soit réellement multipardigme -- et qui ait été pensé dés les origines pour l'être -- il permet au développeur d'éviter de se retrouver coincé par le carcan du "tout orienté objets" ou du "tout procédural" imposé par les autres langages.

        Je suis intimement persuadé qu'un développeur C++ même "moyen" passera rapidement pour un excellent développeur en java ou en C#, pour autant qu'il arrive à s'adapter à la philosophie propre à ces langages, alors qu'un excellent développeur java ou C# ne pourra qu'être considéré comme un développeur C++ médiocre ou à peine mieux.

        Mais bon, ce n'est bien sur qu'un avis strictement personnel, et je n'obligerai jamais personne à le partager, nous sommes bien d'accord ;)

        En outre, tu "pipes un peu les dés" en posant ta question dans la partie C++ du forum.  Car tu dois bien te douter que ceux qui y répondront préfèreront sans doute C++ à C#, et que les réponses seront donc teintées de cette préférences alors que si tu l'avais posée dans la partie C#, tu aurais sans doute eu des réponses bien plus favorables ... à C#: quelque soient les langages que tu mets en "compétition", tu dois bien t'attendre à ce que les réponses que tu obtiendras fasse ressortir un certain parti pris par rapport au langage que préfère celui qui te répondra ;)

        En conclusion, je dirais qu'il y a de bonnes raisons aussi bien pour vouloir apprendre C# que pour vouloir apprendre C++ dans ta situation.

        Le truc, c'est que, si c'est pour passer deux mois à devenir de plus en plus amoureux (... ou non) de C++ pour devoir l'abandonner -- par manque de temps -- à la rentrée et ne pouvoir y revenir que dans un an, je ne suis pas sur du tout que cela vaille vraiment la peine.  Peut-être aurais tu intérêt à "rentabiliser" le temps de tes vacances en prenant un peu d'avance sur ton programme?

        Maintenant, d'autres auront peut-être un avis différent du mien, et je t'invite très sérieusement à attendre qu'ils l'aient donné avant de prendre ta décision ;)

        PS: Je sais que j'ai apporté une "réponse de normand" à ta question. 

        Mais j'espère avoir émis un avis aussi impartial que possible qui mette correctement les avantages et les inconvénients des deux cotés, et que cela te permettra de faire ton propre choix de manière plus sereine ;)

        • Partager sur Facebook
        • Partager sur Twitter
        Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
          23 juin 2018 à 0:53:38

          Le C++ n'est pas plus performant. Il permet d'acceder a plus de performances. Mais cela a un cout d'apprentissage et d'ecriture du code. Et comme l'a dit koala, en 2 mois, tu n'auras le temps d'acceder a ces performances. Donc c'est pas un bon argument.

          La proposition de koala de prendre de l'avance sur ton cours de C# a du sens.

          Une autre possibilité serait de changer complètement et partir sur un langage qui ne ressemble pas aux C#, C++ et Java. Par exemple faire du Python, faire du dev web (PHP, JS, etc), faire un langage fonctionnel (Haskell, OCaml), etc. Bref, en profiter pour élargir complètement ta vision.

          • Partager sur Facebook
          • Partager sur Twitter
            23 juin 2018 à 9:24:22

            Vanaur, mes motivations sont plutôt simples j'aimerais devenir dév professionnel dans un futur proche est donc pour cela je vais essayer de me diversifier le plus possible, mais en veillant à bien consolider mes acquis pour ne pas perdre en qualité. Le tout en restant axés sur le développement logiciel pour lequel j'ai une grande préférence comparée au développement web.

            Koala, j'ai trouvé que pour quelqu'un qui est partisan du C++ tu as su tout de même rester très impartial tout en apportant beaucoup d'éléments de réponse. J'ai beaucoup relis ton message et réfléchis à tes arguments et tu m'as énormément influencé sur ma décision et je t'en remercie !

            Gbdivers, il est vrai qu'apprendre un tout autre langage me permettrait de m'élargir en termes de compétences et de réflexion, mais comme la fait remarquer Koala, s'investir durant 2 mois sur une technologie pour l'abandonner pour le C# avec la reprise des cours ce n'est peut être pas forcément "rentable"..

            En tout cas je vous remercie grandement tous les 3 pour m'avoir aidé à prendre ma décision, je pense donc commencer le C# et repousser l'apprentissage du C++ à dans un an ainsi j'aurais suffisamment de temps pour pouvoir bien pouvoir l'intégrer :)

            • Partager sur Facebook
            • Partager sur Twitter
              23 juin 2018 à 11:35:45

              Bonjour,

              Ton idée de vouloir apprendre un autre langage que Java et C# me parait excellente. D'autant que je n'arrive pas du tout à comprendre pourquoi les profs enseignent à la fois Java et C# qui ne sont que des jumeaux séparés.

              Tu pourrais peut-être te tourner vers des langages plus différents comme cités par gbdivers (mais je ne mettrais pas le très à la mode Python dans ma liste qui me parait antipédagogique.)
              Le C++ a beaucoup d'avantages pour apprendre un maximum de concepts mais les profs l'évitent. Pour ma part quand je l'enseigne à des débutants, leur enthousiasme est freiné par le minimum de choses à savoir pour écrire un peu de code. Et quand je l'enseigne à des personnes qui ont de l'expérience, ils sont devenus hermétiques aux capacités du C++ connaissant déjà le Saint Graal (Suivant les personnes : C, Java, Python, ..., et surtout C#).


              Plutôt que d'apprendre le C++ après, tu pourrais peut-être avant l'intoxication du C# suivre des langages plus ouverts. Par exemple regarder le Rust. Ceux qui connaissent Rust peuvent passer rapidement à C++ et inversement.

              • Partager sur Facebook
              • Partager sur Twitter

              En recherche d'emploi.

                23 juin 2018 à 16:39:13

                Divinato a écrit:

                Koala, j'ai trouvé que pour quelqu'un qui est partisan du C++ tu as su tout de même rester très impartial tout en apportant beaucoup d'éléments de réponse.

                Merci.

                J'ai essayé de l'être, car je savais qu'une réponse partiale n'aurait pas été "au mieux de tes intérêts" :D

                -
                Edité par koala01 23 juin 2018 à 16:39:27

                • Partager sur Facebook
                • Partager sur Twitter
                Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                  23 juin 2018 à 22:02:36

                  Dalfab a écrit:

                   je n'arrive pas du tout à comprendre pourquoi les profs enseignent à la fois Java et C# qui ne sont que des jumeaux séparés.

                  Parce qu'il n'y a pas que le langage, mais aussi tout ce qu'il y a autour. Des "écosystèmes" différents, dont il faut avoir entendu parler et qu'il faut avoir pratiqué. J2EE, Android d'un côté, .NET de l'autre.

                  -
                  Edité par michelbillaud 23 juin 2018 à 22:03:15

                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 juin 2018 à 22:55:45

                    L'étude de langages très différent, comme un langage de script comme Python, avec ses possibilités de programmation dynamique, ou des langages fonctionnels, élargiront votre culture personnelle avec assez peu d'investissement temporel.

                    Il n'y pas besoin de parfaitement maitriser un langage pour qu'il permette d'avoir un effet bénéfique sur l'ouverture d'esprit à des paradigmes inconnu ou plus difficile à appréhender dans les langages mainstream C# ou JAVA.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                    C++ ou C# ?

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown