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

Contribuez C++ Discussion :

le C/C++ et le monde du travail ? [Débat]


Sujet :

Contribuez C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Février 2008
    Messages : 308
    Points : 622
    Points
    622
    Par défaut le C/C++ et le monde du travail ?
    Bonjour,

    J’arrive a la fin de mes études, et il est donc grand temps de me soucier de mon futur emploi!

    Mon langage de programmation "favoris" étant le C++, je me pose donc la question de sa place sur le marché de nos jours...
    Y'a t'il des embauches? Dans quels domaines d'application? J'ai parfois l'impression que ce langage est réservé aux ingénieurs... est-ce vrai?

    Avec les AGL tel que WinDev qui "simplifient" la programmation et représentent un gain de temps ("10 fois plus vite" qu'ils disent) ce langage peut t'il disparaitre? (ou presque)
    Au contraire, est t'il de plus en plus utilisé?

    Voila quelques questions auxquelles vous pouvez peut être apporter une réponse...

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Tu parles de C/C++, alors que sont deux langages dans lesquels on programme différement.

    Après bon, des vrais jobs en C++ y'en a peu, des jobs en C y'en a beaucoup, et des jobs en C++-mais-en-fait-c'est-vraiment-du-C y'en a plein.
    Boost ftw

  3. #3
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Je dirais qu'il n'y pas probablement plus beaucoup de développeurs qui ne fassent QUE du C++, tout comme il n'y a probablement plus beaucoup de projets qui soient réalisés en C++ uniquement. Et toute une gamme de projet est désormais réalisé sans C++. Il n'empêche que le C++ reste vital dans tout ce qui est orienté performances.

    Maintenant, sur le marché, on trouve aussi moins de bons développeurs C++ que pour d'autres langages. Je ne sais pas trop dans quelle mesure ça compense ou pas.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Comme il y a pas mal de programmes (ou de bouts de programmes) écrits en C ou en C++ (ou le plus souvent dans ce C/C++ hybride, qui mélange les deux et se compile avec un compilateur C++), et de moins en moins de jeunes qui s'intéressent au sujet, je pense que tu n'as pas trop de souci à te faire si tu programmes en C ou en C++.

    Quelques remarques, qui ne reflètent que mon expérience personnelle bien sur...

    1- Le gros du code C ou C++ en entreprise est écrit pour Windows, et compilé sous Visual (parfois sous Borland). Une connaissance minimale de l'API windows, et du compilateur Microsoft est très utile. A l'heure de Visual Express, version gratuite, tu n'as plus aucune excuse, en plus...
    2- Parallèlement, une connaissance des frameworks graphiques est très utile. Il y a très peu de code écrit pour la console, en entreprise. A mon avis, le plus utile à connaitre est MFC, mais la VCL de borland n'est pas rare non plus (dans ce cas, il est bon d'avoir des rudiments de delphi). Vu le temps nécessaire à former un programmeur à ces outils, c'est un avantage apprécié.
    3- Comme déjà mentionné, il faut t'attendre à voir beaucoup de code écrit "à la C", soit parce que c'est du C porté en C++, soit parce qu'il a été écrit par des ingénieurs issus du C (aussi, un peu, parce que MFC et API windows encouragent cette pratique). Du coup, il vaut mieux savoir programmer avec des pointeurs, faire de l'objet mais pas trop, lire et maintenir du C, et ne pas trop espérer voire une forte utilisation de Boost, ou même de la STL.
    4- Enfin, les secteurs ou le C et le C++ sont très utilisés sont souvent liés au calculs numériques, ou à des programmes un peu matheux. Un minimum de culture mathématique et algorithmique est souhaitable.

    Ceci dit, si tu aimes le C ou le C++, il n'y a pas de raison de changer pour un langage à la mode... Les programmeurs C/C++ sont rares (ou au moins les bons, et encore plus ceux qu'on arrive à intégrer dans une équipe déjà constituée, pour travailler sur des logiciels de la vraie vie), et ce qui est rare est cher...

    Francois
    Dernière modification par Invité ; 29/05/2009 à 22h48.

  5. #5
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Je pense que tout à était dit. En effet la tendance en entreprise est au langage de plus haut niveau, ie java et C#, et il y'a (étant étudiant je le constate) la même tendance chez les jeunes en cours de formation. (notamment parce que le C# caytrop cool y'a pas besoin d'écrire le code tout est complété automatiquement,) donc tu coup on se met à faire du C# / java peut être par fainéantise mais aussi réconforté par les parts de marché dans le monde de l'emploi.

    D'un autre côté il reste une bonne part de C/C++ (oui du mélangé) amha, et donc si y'a moins d'étudiant prêt à faire un cursus y'a plus de place pour ce qui comme toi (et moi j'espère quand je sortirais) sont plus orienté C++. Néanmoins il ne faut pas se cantonner à un seul langage sinon c'est foncé droit dans le mur. Avoir un langage de prédilection oui, n'en avoir qu'un seul alors c'est le drame x).

    Enfin dernière chose, qui est plus une petite anecdote personnelle mais qui compléte ce qu'on dit les posteurs au dessus, étant étudiant et passionné de C++ j'ai toujours vu et programmé dans du C++ moderne, ( ie pas un affreux mélange des deux.) et quand j'ai pu voir un peu comment ça fonctionnait en entreprise je suis tombé de haut envoyant des codes comme le décrit fcharton, sans STL (je parle même pas de boost) etc, ce qui est pas forcément une mauvaise chose selon comment c'est codé mais qui quand tu sors de tout cet aspect théorique du C++ qu'on peut voir notamment sur ce forum fait un peu peur et surtout est des fois difficile à suivre. Jme suis donc replongé dans le C histoire d'être au niveau et puis voilà. (j'ai vite compris qu'on ferait pas changer le code, ni les habitudes dans l'entreprise ^^).

    Néanmoins je connais des entreprises qui code vraiment en C++ et qui lors des entretiens te parle de boost etc.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Goten Voir le message
    Enfin dernière chose, qui est plus une petite anecdote personnelle mais qui compléte ce qu'on dit les posteurs au dessus, étant étudiant et passionné de C++ j'ai toujours vu et programmé dans du C++ moderne, ( ie pas un affreux mélange des deux.) et quand j'ai pu voir un peu comment ça fonctionnait en entreprise je suis tombé de haut envoyant des codes comme le décrit fcharton, sans STL (je parle même pas de boost) etc, ce qui est pas forcément une mauvaise chose selon comment c'est codé mais qui quand tu sors de tout cet aspect théorique du C++ qu'on peut voir notamment sur ce forum fait un peu peur et surtout est des fois difficile à suivre. Jme suis donc replongé dans le C histoire d'être au niveau et puis voilà. (j'ai vite compris qu'on ferait pas changer le code, ni les habitudes dans l'entreprise ^^).
    Il est vrai que nous essayons sur le forum de présenter les bonnes pratiques, et ce n'est pas évident lorsqu'on sait le temps que peut demander certaines réponses.

    Mais une chose est sure, c'est que lorsque tu les mets en oeuvre, tu y trouve des avantages non négligeables comme une sécurisation et une facilité de relecture accrue et un temps de débuggage finalement moins important.

    Mais, si personne n'attire jamais l'attention des gens sur le fait que "cemal" de recourir à certaines techniques, sur leurs risques et leurs limitations, et surtout sur les avantages qu'il peut y avoir à faire, de manière générale, dela manière que l'on présente sur le forum, les gens continueront à travailler "comme des gorets", persuadés, au mieu, que "ce n'est pas pire" que de le faire de l'autre manière, au pire, qu'il n'y a pas d'alternatives aux soucis que cela implique.

    C'est pourquoi, si on veut arriver à changer les choses, et faire de manière à ce que "les bonnes pratiques" remontent au niveau de l'entreprise, il faut commencer "par le bas" et faire un effort permanent de formation "correcte".

    Cela peut ressembler à vouloir remplir un trou sans fond, mais, cela porte ses fruits sur le long terme:

    • Si l'un des membres du forum devient prof, il aura "naturellement" tendance à apprendre les bonnes pratiques au suivant.
    • Si un autre membre "assez fou" pour dire que ce qui a été fait dans l'entreprise jusqu'à présent "c'est de la m@@%%" parce que c'est le cas et taper du poing sur la table arrive à se faire entendre, il pourra faire évoluer les choses de l'intérieur.
    • Si un autre enfin devient chef de projet / d'équipe, il pourra mettre en oeuvre des structures qui "feront redescendre" les bonnes pratiques vers les différents membres de son équipe.

    Evidemment, cela implique très certainement que la personne qui décide d'essayer de faire changer les choses soit clairement sur de ce qu'elle dit et qu'elle soit en mesure de justifier son point de vue

    J'ai en outre l'impression que nous touchons plus à un problème de la "mentalité":
    Par ici, on serait plutôt du genre à se dire que, si ca marche (même sur trois pattes), il n'y a pas forcément de raison de "perdre du temps" à apprendre les bonnes pratiques et à les mettre en oeuvre, sans se rendre compte qu'au final, on perd bien plus de temps à continuer à le faire ainsi.

    Par contre, j'ai l'impression que la mentalité "anglo-saxone" serait plutôt de se dire que, s'il faut perdre "quelques minutes" à se former à une technique décidément meilleure, ce seront quelques minutes bien investies au vu du temps que la technique mise en oeuvre permettra de gagner sur le long terme et de l'augmentation de qualité qu'elle implique.
    Néanmoins je connais des entreprises qui code vraiment en C++ et qui lors des entretiens te parle de boost etc.
    Quelque part, l'objectif "idéal" du forum, c'est qu'il y en ait de plus en plus, mais ca commence à faire son chemin
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  7. #7
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Ouai pour faire changer les mentalités tout à fait. Seulement c'est long... très long. Après je précise je suis juste stagiaire, donc par définition j'ai tort. (et ce même si j'ai raison xD). (bien que je sois actuellement pas dans ce cas de figure c'est une généralité que le stagiaire aura toujours tort.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Goten Voir le message
    Ouai pour faire changer les mentalités tout à fait. Seulement c'est long... très long. Après je précise je suis juste stagiaire, donc par définition j'ai tort. (et ce même si j'ai raison xD). (bien que je sois actuellement pas dans ce cas de figure c'est une généralité que le stagiaire aura toujours tort.
    Ce n'est pas forcément vrai, ou plutôt ca dépend beaucoup des boites. Dans celle où je travaille, et quelques autres que je connais, on écoute pas mal les stagiaires et les nouveaux, notamment sur les choix matériels et techniques, parce qu'ils sont généralement plus au fait que nous (les vieux) des "dernières nouveautés", et pas mal d'innovations viennent en fait des nouveaux.

    En revanche, je crois que toutes les entreprises se méfieront d'une personne (stagiaire ou confirmé) qui, la semaine de son arrivée, demande (parfois même exige) une refonte totale des méthodes de travail, quand ce n'est pas des sources.

    C'est donc une situation délicate : on attend du "petit nouveau" qu'il amène un peu d'innovation et d'air frais. Le faire, c'est être presque certain d'avoir une offre à la fin du stage... En revanche, on attend aussi qu'il s'adapte, et s'adapter, c'est aussi s'adapter aux méthodes de développement en cours.

    Sur le C/C++, je pense qu'il serait bon de reconnaitre l'existence de ce langage (et peut être de lui donner un nom). Il y a beaucoup de code écrit dans ce "C enrichi", qui utilise des fonctions du C++ et de ses librairies, voire un peu de POO, sans pour autant franchir complètement le pas.

    Reconnaitre l'existence de ce langage, voire en parler aux étudiants lors de leur formation, éviterait, à mon avis, pas mal de déconvenues à l'arrivée en entreprise.

    Francois

  9. #9
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    C'est pas faux. En même temps (et malheureusement) encore beaucoup de formations n'apprennent pas vraiment du C++ mais un C/C++. (quand on voit que le cours commence avec du : il faut faire du C pour comprendre le C++ :/).

    Par rapport au stagiaire, c'est vrai que vouloir changer tout de suite fait passer pour un je-sais-tout-je-sors-de-l'école. C'est pour ça que c'est assez délicat. Il y'a aussi des entreprises très borné. Ca me rappelle une petite anecdote sur un admin systéme qui faisait toute ses connexions en telnet pour administrer les routeurs, le stagiaire lui a montré en direct comment il pouvait récupérer le mot de passe, et pourtant rien à faire il a jamais voulu quitter telnet (et pourtant switcher de telnet vers ssh c'est pas la mort niveau taf). Mais bien sur faut pas généraliser.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  10. #10
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Il est clair que, lorsqu'on débarque dans une boite, et plus encore si l'on n'est qu'un "petit stagiaire (de m@@$$)" (n'y voyez rien d'offensant de ma part, je ne fait qu'exprimer par écrit ce que vous risquez fort d'entendre, sans penser que ce soit le cas ), il est souvent difficile de se faire entendre...

    En plus, il faut se rappeler que, si on a raison sur le fond mais pas dans la forme, on a généralement tord.

    Il est donc bien évident qu'il ne faut pas, comme je l'ai suggéré plus haut, se mettre à gueuler que ce qui est fait dans la boite est de la m@@$$

    Par contre, une technique qui donne généralement de bons résultats, c'est d'entamer la "discussion qui fâche" par un "Ne croyez vous pas..."

    Cela a l'énorme avantage d'amener le sujet sans que l'interlocuteur ne se sente agressé, ce qui serait de toutes la pire des situations, car il aurait tendance à se bloquer.

    Évidemment, cela implique qu'il faut vous attendre à devoir motiver votre avis, voire, être prêt à le défendre "bec et ongles"...

    Cela signifie donc qu'il faut connaitre suffisamment son sujet pour contre argumenter à toutes les mauvaises raisons que l'on pourrait vous donner pour ne pas le faire

    Et non seulement pouvoir répondre aux question "quoi" et "comment", mais, tant qu'à faire, de pouvoir aussi répondre à la question "pourquoi" (re )

    C'est la raison pour laquelle vous remarquerez que beaucoup de réponses essayent de vous faire comprendre le pourquoi de la solution qu'on vous propose (selon la prolixité de l'intervenant )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Février 2008
    Messages : 308
    Points : 622
    Points
    622
    Par défaut
    Merci pour vos avis et conseils,

    Personnellement je ne pense pas savoir faire que du C++, j'ai commencer par apprendre le C sans même connaitre le concept de POO, puis à l'iut j'ai pas appris grand chose de plus... mais j'ai fait un peut de java qui m'a permis de connaitre la POO, et je me suis donc mis au C++.

    J’ai maintenant quelques connaissances et je suis a peut près sur de ce que je fais. Mais mon problème, c'est peut être que je n'ai pas de "Formation" réelle au C++? J’apprends de mes erreurs, chaque problématique me fait découvrir de nouvelles techniques ou outils, mais comment être sur de ce que j’apprends dans ce cas? Par exemple vous parlez de "boost", comment ça se fait que j'en ai jamais entendu parler? (je file me renseigner!)

    Ce langage est tellement vaste, par ou commencer? De plus, maintenant j'ai une petite fille et donc plus beaucoup de temps libre, fini les weekends entier à trouver la meilleure façon de résoudre un problème ou a optimiser une ligne de code afin de gagner 2 ms. Je me dis alors qu'il est important de me former de façon sure et efficace afin d'être crédible lors d'un entretien!

    Comment avez vous appris vous? Pensiez-vous être déjà suffisamment formé à la fin de vos études?

  12. #12
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Mes études ne m'ont pas enseigné le C++. Toutes sortes de choses (langages et théories), mais pas le C++.
    Cela s'est fait sur le tas, et via forums également.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  13. #13
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Points : 833
    Points
    833
    Par défaut
    L'avantage de bien connaitre le C++ c'est que souvent il devient facile, vu la qualité de code qu'il exige, de passer sur un autre langage.

    Pour répondre à la question initiale, avis perso, on ne peut nier un déclin du C++ au profit de C# et Java dans le choix d'un langage pour un nouveau projet. Après vu le nombre de projets déjà existants il y a du travail c'est sûr mais si c'est pour faire de la maintenance d'ancien projet c'est peut être pas très motivant. Je ne pense pas que C++0X change cette donne.
    Linux > *

Discussions similaires

  1. Qt dans le monde du travail, est-ce "vendeur" ?
    Par pingpong dans le forum Qt
    Réponses: 2
    Dernier message: 29/05/2013, 17h47
  2. les écoles privé et le monde du travail
    Par light86 dans le forum Etudes
    Réponses: 4
    Dernier message: 06/10/2010, 11h45
  3. Haskell et le monde du travail
    Par v6q6pf dans le forum Haskell
    Réponses: 4
    Dernier message: 19/09/2009, 12h40
  4. Assembleur dans le monde du travail ?
    Par Gf6HqmTW dans le forum Assembleur
    Réponses: 5
    Dernier message: 14/10/2007, 00h03
  5. Réponses: 2
    Dernier message: 19/02/2007, 00h46

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