Partage
  • Partager sur Facebook
  • Partager sur Twitter

Devenir Dev java ou C++ en 2021 ?

    3 mai 2021 à 19:30:40

    Bonjour à tous et à toutes !

    J'espère que vous allez en cette période difficile...

    J'aimerai faire un petit point sur ce que je maîtrise avant d'énoncer le sujet.

    J'ai commencé la programmation il y a longtemps avec le C, puis j'ai continué de programmer avec Python (en créant des jeux avec Pygame assez sympa :) et des logiciels un peu poussés utilisant les objets).

    Actuellement en Bts, je compte aller jusqu'au master dans le développement et depuis des semaines je cherche des postes, des actus, des forums entre l'éternel débat entre java et c++ (je connais les syntaxes des deux). Sachant que je lisais sur des postes de 2013 que java était sur le point de mourir,... et d'autres trucs marrants à lire XD.

    Mais aujourd'hui j'aimerais me lancer dans l'apprentissage d'un seul langage afin d'être assez compétent. Et en 2021 il vaut mieux être dev c++ ou java (professionnellement, financièrement) ?

    En regardant les stats de Github Tiobe, Java est toujours devant C++.

    Merci d'avoir pris le temps de lire ce post qui doit être pénible à force :lol:

    edit : J'avais oublié de poser la question, en licence pro DAGPI, quels sont les langages de programmation que l'on utilise ?

    -
    Edité par Van3ll0pe 3 mai 2021 à 21:25:39

    • Partager sur Facebook
    • Partager sur Twitter
      3 mai 2021 à 21:27:57

      Salut,

      > J'espère que vous allez en cette période difficile...

      Merci, et toi ? :)

      Ce n'est pas parce que leur syntaxe se ressemblent que les langages sont similaires.

      Je prends pour exemple C et C++, qui ont presque la même syntaxe (typage statique, accolades), mais C++ est extrêmement plus moderne que C et surtout beaucoup plus simple et puissant (généricité, orienté objet).

      Certes, je ne suis pas pro donc mon avis n'est peut-être pas valable pour le monde du travail, mais je soutient que l'essentiel est de se faire plaisir.

      Je te conseille donc de tester un peu des deux langages (ici un tutoriel de C++ moderne, pour Java je te laisse chercher sur le forum), et de voir dans lequel tu te sens le plus à l'aise.

      Puisque tu connais C (et si tu ne connais pas C++), tente C++ (ne le juge pas selon ta pratique de C, c'est totalement différent) pour voir tout ce qui change.

      En espérant t'avoir aidé :)

      • Partager sur Facebook
      • Partager sur Twitter
        4 mai 2021 à 4:10:31

        Ce que je trouve amusant au sujet de la comparaison des syntaxes est que je ne connais rien au java et j'ai fait une intervention réussie en java. :)
        C'était au sujet des alggorithmes de recherche dichotomique.
        Moi aussi, j'ai commencé en C et j'ai continué en Python avec un peu de C++
        Bien sûr, ce n'est pas une bonne idée que d'apprendre deux langages en parallèle.
        Il m'arrive encore de mélanger les printf de C et les print de Python. :)
        Mais je ne vois pas d'objection d'en apprendre plus d'un.
        Je ne suis pas non plus dans l'industrie, mais je pense que c'est un atout que de connaître plus d'un langage.
        Chaque langage peut avoir ses forceset ses faiblesses, ses avantages et ses inconvenients.
        Dans certains projets, ce sera préférable de choisir un langage plutôt qu'un autre.
        Ou bien tu fais les essais préliminaires dans un langage et le code final dans un autre.
        • Partager sur Facebook
        • Partager sur Twitter

        Le Tout est souvent plus grand que la somme de ses parties.

          4 mai 2021 à 13:23:28

          totosayen_cpp a écrit:

          >Salut,

          > J'espère que vous allez en cette période difficile...

          >Merci, et toi ? :)

          Super bien !

          >Ce n'est pas parce que leur syntaxe se ressemblent que les langages sont similaires.

          j'entends bien, j'ai lu les cours sur les deux langages pour me faire des idées.

          >Je prends pour exemple C et C++, qui ont presque la même syntaxe (typage statique, >accolades), mais C++ est extrêmement plus moderne que C et surtout beaucoup plus simple >et puissant (généricité, orienté objet).

          >Certes, je ne suis pas pro donc mon avis n'est peut-être pas valable pour le monde du >travail, mais je soutient que l'essentiel est de se faire plaisir.

          >Je te conseille donc de tester un peu des deux langages (ici un tutoriel de C++ moderne, >pour Java je te laisse chercher sur le forum), et de voir dans lequel tu te sens le plus à l'aise.

          >Puisque tu connais C (et si tu ne connais pas C++), tente C++ (ne le juge pas selon ta >pratique de C, c'est totalement différent) pour voir tout ce qui change.

          J'avais déjà utilisé le C++ avec la lib SFML pour faire un petit pong sur linux. Rien de bien compliqué mais juste histoire d'en apprendre plus sur ce langage et de bien assimiler l'idée d'objet.

          J'ai plus codé en c++ qu'en java. Mais je me dis autant commencer par le langage le plus utilisé, ou le demandé dans les entreprises.

          Et du coup je ne sais pas lequel choisir car en soit les deux ne me déplaisent pas du tout.

          >En espérant t'avoir aidé :)



          -
          Edité par Van3ll0pe 4 mai 2021 à 13:37:54

          • Partager sur Facebook
          • Partager sur Twitter
            4 mai 2021 à 15:00:56

            À ma connaissance, il n'existe pas vraiment d'indicateur officiel pour les demandes d'emploi, mais il y a l'index TIOBE qui calcule la popularité des langages, si ça peut t'aider.

            Si on commence à chercher du côté pro, les sources n'ont pas l'air vraiment fiables (au sens officielles).

            Je te dirais peut-être de chercher sur developpez.com, qui est un peu plus orienté pro je crois (confirmation ?).

            Après, c'est très bien d'avoir pris le temps d'essayer les choses , car avoir touché à des langages aussi différents que C, Python et C++ te permet de voir les qualités et défauts de chacun (tout est subjectif, je te mets ce que j'en pense) :

            Qualités :

            • C : contrôle (quasiment) absolu, permet de comprendre plus en détail ce qui se passe "sous le capot de ta machine" (pointeurs notamment) donc je trouve ça assez instructif quand on est passionné, et puis le typage statique oblige à penser différemment qu'en Python, donc c'est intéressant de réfléchir autrement
            • C++ : contrôle comme en C, mais amélioré de façon à minimiser le risque de faire les bêtises de C tout en laissant une grande liberté d'utilisation, dispose de concepts puissants comme la généricité, l'orienté objet, les exceptions, mais surtout le RAII (LA chose qui le distingue du C, l'OO passe après), donc représente pour moi le meilleur de C avec plus de sécurité, et puis surtout la STL nous aide grandement, notamment les conteneurs et algos
            • Python : facilité, notamment grâce à un syntaxe plus verbeuse et simple à assimiler pour les débutants en programmation, je le considère comme un excellent langage pour débuter à coder, son typage dynamique et inféré enlève les contraintes de C et C++ pour laisser plus de libertés, et surtout il est super pratique pour les maths

            Défauts :

            • C : (beaucoup :lol:), le contrôle absolu permet au développeur de faire tout et (surtout) n'importe quoi avec notamment les pointeurs, je cite fuite de mémoire, segfault et UB à la pelle, vérifier les pointeurs tout le temps est assez pénible, les erreurs en C sont tout autant embêtantes : mettre un if pour tester chaque retour de fonction c'est bof, et surtout C est difficile pour débuter à cause de sa liberté totale
            • C++ : déjà, l'héritage du C pose problème (voir ci-dessus), mais les templates peuvent être complexes (et les messages d'erreur du compilo assez mystérieux), mais aussi concevoir correctement ses objets (hiérarchie) est un vrai casse-tête, surtout qu'il faut respecter des règles strictes (normes de qualité logicielle, pas de la norme C++) pour éviter de se casser les dents à faire n'importe quoi, C++ est un langage quand même assez difficile (mais beaucoup moins que C)
            • Python : son abstraction peut être un obstacle pour approfondir, car l'allocation dynamique, les références/pointeurs sont cachés par l'abstraction, donc Python peut devenir assez limité à observer si l'on souhaite se plonger vraiment dans l'informatique

            Bref, tout ça pour dire que ça a l'air de ne dépendre que de tes préférences (je le répète mon avis n'est peut être pas applicable pour le monde pro).

            • Partager sur Facebook
            • Partager sur Twitter
              4 mai 2021 à 15:47:51

              C'est vrai que python est simple, mais trop lent et trop limité dans ce que je voulais faire. Mais ça reste un de mes coups de coeur pour le script et pour faire des choses simples sans prise de tête.

              Le C dans mon apprentissage m'a permis d'utiliser et de bien connaître les pointeurs, l'algorithmie, connaissance d'un langage bas niveau ressemblant aux autres syntaxes basées dessus.

              Cependant la question que je me pose réside dans le sens ou j'aurais une sécurité de l'emploi en prenant JAVA ou C++ ?

              Est-ce que la lenteur de la VM java est un si gros problème que ça ?

              le C++ est très demandé en entreprise ?

              En soit, apprendre les deux ne me contrarie pas mais j'aimerai commencer par un, devenir bon dedans, l'utiliser dans ma future carrière.

              En licence professionnelle DAGPI, quel langage est utilisé dans la section "programmation objet" ? j'ai beau chercher mais je ne trouve pas la réponse à ma question ? (ça peut aussi être un facteur déterminant pour clôturer le débat)

              -
              Edité par Van3ll0pe 4 mai 2021 à 18:53:11

              • Partager sur Facebook
              • Partager sur Twitter
                5 mai 2021 à 15:07:39

                la seule chose que je trouve en lien avec DAGPI, c'est l'utilisation de langages web. Si tu veux être sûr, demande à l'endroit où tu cibles ta licence pro quels langages ils vont t'apprendre au cours de la formation

                -
                Edité par umfred 5 mai 2021 à 15:07:48

                • Partager sur Facebook
                • Partager sur Twitter
                  16 mai 2021 à 9:47:54

                  Hello

                  L'index tiobe n'a pas vraiment de valeur pris brutalement comme ça.

                  Si tu bosses dans le domaine aéronautique, tu auras forcément plus de C au motif qu'on a besoin d'un truc natif qui dépote en live sur de l'acquisition de données. Si tu bosses dans le web, tu n'en verras dans doute jamais ; Au mieux du C# si la boîte à posé son dogme de dev à bloc autour de ce language. En salle des marchés, ton courtier il veut un soft dans l'heure pour ne plus l'utiliser le lendemain, aurant dire que la qualité et le language il s'en tape le cul par terre...

                  La bonne question à te poser est donc dans quel domaine tu veux évoluer, ce qui te plaît dans le dev. La pérennité de ton job viendra de là, ainsi que ton salaire, et certainement pas du language connu.

                  Si tu vas en ESN, tu seras formé au cours de tes expériences, parfois sur des framework propriétaires propres a une grosse boîte, en espérant qu'ils soient développés sur la base d'autres OpenSource. Tu dois connaître les patterns de base et tu devra être adaptable aux besoin de ton commercial (#ChairACannon) mais tu apprendras deux fois plus de trucs en deux fois moins de temps qu'ailleurs.

                  Si tu vas chez un éditeur, tu seras spécialisé et peut-être que tu auras plus de mal à te vendre pour trouver un autre job ailleurs. Enfin, pas au début, quand on est jeune on s'adapte à peu près bien partout si on est curieux.

                  Quand à ton salaire, faut pas se faire d'illusion. Il sera en gros le même partout en France. Mais garde quand même un oeil sur deux paramètres :

                   • la taille du bassin d'emploi, pour estimer si tu peux retrouver vite du taff ailleurs ; exemple : Toulouse : tout tourne autour d'Airbus(pas intérêt à se faire cramer), Lyon c'est plutôt indus, Bordeaux beaucoup de PME

                   • le coût de la vie et du logement : être payé 30% de plus à Paris, c'est bien. Mais on sait tous pourquoi

                  ... Et à 35 ans avec 2 gosses et un salaire qui mlafonne, c'est vite moins sexy

                  Après le dev c'est bien, mais la valeur provient de ceux qui l'utilisent...  D'où la résurgence du lowcode ou du nocode dans la tête de certains. Dans un monde ultraconnecté où les données ne sont pas toujours consommées là où elles sont produit s, le salut pourra aussi venir d'un outil type EAI/ESB et du plombier qui saura accorder à les boyaux de deux SI à coup de REST et de web services...

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Devenir Dev java ou C++ en 2021 ?

                  × 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