Bonsoir � tous.
Un petite question existencielle^^ : combien d'ann�es faut-il pour devenir un expert du C++, en passant environ 15h par semaine � coder (ce qui est mon cas^^) ?
Version imprimable
Bonsoir � tous.
Un petite question existencielle^^ : combien d'ann�es faut-il pour devenir un expert du C++, en passant environ 15h par semaine � coder (ce qui est mon cas^^) ?
Je ne suis pas particuli�rement un �valuateur de niveau mais � tout cass� (et cela d�pend aussi de tes capacit�s, de ta rapidit�, du domaine d'application et surement d'autres facteurs) une bonne vingtaine d'ann�e :mrgreen:
Je crois que �a d�pend aussi de ta fa�on de travailler et de ta soif d'apprendre. Apr�s tout, on peut aussi en C++ programmer de la m�me mani�re que ce que l'on fait en java ou en C#. Mais cela signifierai faire l'impasse sur toute la partie m�taprogrammation, ce qui serait bien dommage.
Sinon, rien que pour "ma�triser" la partie m�taprogrammation, il faut d�j� plusieurs ann�es. Ensuite, pour ce qui est d'�tre un expert, clair que 10 ans me paraissent un minimum.
Je n'irai pas jusque l�, si on se plonge pendant quelques ann�es dans tous les �crits possibles en C++ et en conception (faut bien voir la conception d'un point de vue th�orique + ce qui se dit que le parall�lisme actuellement), on peut �tre expert en 4-5 ans, mais c'est relatif comme notion.
Et en plus de lire et de programmer, j'imagine que pour se poser en expert, il faut avoir l'exp�rience de quelques projets C++ assez cons�quents
Tout d�pend ! :D
Si tu commence de 0 c'est clair qu'il faut viser plusieurs ann�es pour bien maitriser tout les concepts (5-6 ?). Mais si tu commences avec des bases en programmation et/ou si tu connais d'autres langages (OO notamment) l� tout peut aller plus vite. Grosso modo je tablerai sur :
- langages imp�ratifs (Pascal, C, ...) : 3 ans
- langages orient�s objet : 1 an (voir moins)
- autres paradigmes (logique, fonctionnel): probablement vers les 5 ans
Bien sur toute ces chiffres sont uniquement tir� de mon exp�rience personnelle et sont surement tr�s diff�rent d'un individu � un autre. 8-)
Un d�savantage pour ceux qui ont commenc� le C++ depuis peu, c'est justement de ne pas conna�tre (ou mal) son histoire, ses �volutions.
Perso, je pars du principe qu'un humain normalement constitu� ne peut pas conna�tre tous les recoins du langage par coeur :)
Et pendant le temps que tu passeras � assimiler, d'autres visions, utilisations ou concepts sortiront...
Salut,
J'aurais personnellement tendance � dire que l'expertise reste quelque chose de tr�s subjectif...
D'un c�t�, il y a ceux qui se pr�tendent expert, parce qu'ils programment depuis des ann�es, mais dont on se rend compte "en grattant un peu" qu'ils se sont content�s de reproduire syst�matiquement les m�mes erreurs sans jamais se remettre en question ou qu'ils ne se sont jamais int�ress� qu'� un point de vue bien pr�cis, et, � l'autre extr�mit�, il y a ceux qui ne programment que "depuis pas si longtemps que cela" mais qui se sont int�ress�s � de nombreux sujets, qui ont en permanence r�fl�chi "a la meilleure solution" et qui ont eu la modestie de prendre les remarques en compte.
J'aurais presque tendance � dire que le vrai expert, c'est celui que tu reconnais comme tel, mais que ce ne sera jamais celui qui pr�tend l'�tre...
Je crois m�me qu'il n'y a que peu de sens � vouloir se pr�tendre expert dans un langage particulier car, je n'ai jamais compris ce principe qui voudrait s�parer les t�ches de conception et de r�alisation d'une application...
Pour moi, l'expertise s'acqui�re par le fait que tu maitrise suffisemment les m�thodes de recherche des besoins, de conception, d'algorithmie... et par le fait que tu connaisse le langage que tu utilise pour mettre tout cela en musique.
Le gros du C++ peut �tre appris en quelques mois � peine.
Une pratique de un ou deux ans est clairement n�cessaire pour arriver � "fixer" et � am�liorer ses connaissances de base, et pour avoir l'occasion de se frotter � la majorit� des cas "peau de banane" que l'on peut rencontrer.
Mais ce n'est qu'une fois que l'on maitrise le processus complet de d�veloppement que l'on peut estimer avoir gagn� "l'expertise".
Faut il pr�ciser que, pour moi, le langage utilis� n'importe que peu, et que le fait de fournir un code source n'est -� la limite et en exag�rant beaucoup - en d�finitive que "du simple travail de dactylographie, long et fastidieux" du simple fait que, normalement, toute la r�flexion et tout le travail int�ressant doit �tre men� � bien avant m�me de commencer � �crire la premi�re ligne de code (ce qui n'emp�che qu'on puisse se rendre compte � un moment donn�, lors de l'�criture, que l'on n'avait pas pris tel ou tel point de vue en compte, et qu'il faille donc repasser par une �tape de r�flexion ;):D)
On se d�tend...
Plus s�rieusement, je ne vois pas pourquoi la programmation en C++ serait tr�s diff�rente de l'ensemble des autres activit�s humaines. Le mot expert a une signification ind�pendante du C++, et je ne vois rien de sp�cifique au C++ de ce point de vue. On en revient donc � la d�finition traditionnelle de l'expert, qu'il soit plombier ou violoniste, � savoir 10 � 15 ans de pratique au niveau professionnel (cf. les travaux cit�s dans le lien ci-dessus). L'expertise n'a pas trop de rapport avec le talent, le g�nie o� l'incomp�tence, qui peuvent tous s'atteindre en beaucoup moins de temps, voire au saut du berceau... ;)
Mais, tout comme pour un plombier ou un ma�on, il y a des programmeurs qui sont dans le m�tier depuis des d�c�nies et auxquels on aurait peur de demander de faire le moindre travail...
Ce sont des gens qui ne m�ritent, selon moi, en aucun cas le titre d'expert :D
Si expert de la catastrophe !!Citation:
Ce sont des gens qui ne m�ritent, selon moi, en aucun cas le titre d'expert
Sinon pour moi, quelqu'un d'expert est quelqu'un qui peut r�pondre a 99% des cas (tordus ou pas) en un minimum de temps (voir im�diatement) et de fa�on optimale.
Un expert en C++ conna�t la plupart (toutes ? peut-�tre pas non plus, c'est difficile) des subtilit�s du langage, il est aussi tr�s bon en conception : il sait ce que l'on peut faire et sait trouver une solution optimale en exploitant tous les outils fournis par le C++ qui font qu'elle est optimale.
Bon, ne d�bordez pas dans le troll non plus. Essayez d'apporter des pr�cisions techniques, et non pas des "je ne suis pas d'accord avec un tel" ou alors "�a d�pend le sens qu'on donne � expert" sans donner un argument technique derri�re. C'est un d�bat qui peut s'av�rer int�ressant mais pour cela fa�tes en sorte qu'il le soit. Sinon on peut se rejoindre dans la Taverne ;)
:merci:
?? :aie:
En faite ce la ne veut pas dire grand chose "expert". Donc c'est difficile de faire de vrai r�ponse a part un troll. Ca fait juste beau sur un CV. Par exemple tu pourrai tout connaitre du C++ et rien en 3D. Tes expert mais tu ne peut pas faire un peu probl�me en 3D rapidement
Je pense simplement que si l'on veut mettre un sens sur le mot expert, �a serait celui qui r�soud les probl�mes auquel il est confront� en utilisant pleinement les possibilit�s du langage C++.
Apr�s, on peut dire un peu ce qu'on veut.
Je suis pleinement conscient du fait que la connaissance d'un langage particulier (ou de plusieurs) se monnaie sur un CV, et que tu auras d'autant plus de chances de te faire embaucher si tu connais le langage habituellement utilis� dans la boite dans laquelle tu postules...
Par contre, il ne faut pas non plus se voiler la face, � partir d'une conception correcte, tu cr�era des classes correctes, et � partir d'algorithmes corrects, tu impl�mentera des comportements corrects: Les diff�rences que tu rencontreras entre deux langages (hormis les quelques particularit�s telles que l'h�ritage multiple ou similaire) se limiteront bien souvent � un "simple probl�me d'orthographe / de syntaxe".
Je trouve que l'intervention de Alp que, pour la cause, je g�n�ralise pour tous les langagesest sans doute ce qui est le plus proche de la d�finition du terme "expert"...Citation:
Je pense simplement que si l'on veut mettre un sens sur le mot expert, �a serait celui qui r�soud les probl�mes auquel il est confront� en utilisant pleinement les possibilit�s du langage utilis�.
Sauf que, quelque soit le langage utilis�, la majeure partie des probl�mes trouvent une solution au point de vue algorithmique...
Bien s�r, il y a toutes les biblioth�ques qui permettent de faciliter d'autant le travail, mais, l'un dans l'autre, le fait de savoir que telle biblioth�que permet de faciliter le travail dans telle circonstance, sans *forc�ment* maitriser la dite biblioth�que (mais en sachant o� trouver les informations la concernant) n'emp�chera nullement quelqu'un de m�riter le titre d'"expert".
Par contre, le fait de connaitre � fond toutes les capacit�s d'une biblioth�que, mais de ne pas �tre en mesure d'en tirer le meilleur parti est aussi un gros frein � cette pr�tention ;)
Je suis d'accord avec toi koala01, et je rajouterais que :
Un expert doit �tre bon pour tout ce qui est conception, algo, ... certes; mais un expert doit savoir quel outil du langage utiliser pour amener le plus rapidement des r�sultats, il doit savoir quels outils permettent de faire des tests unitaires rapidement, il doit savoir quelle biblioth�que est la plus performante dans tel domaine, ... En somme, il doit avoir engrang� une �norme quantit� d'informations depuis ses d�buts. Ajouter � �a le savoir-faire qu'il se forge � force de programmer, et l�, vous avez un expert (si l'on souhaite donner un sens pr�cis � ce mot) � mon go�t. Comme je l'ai dit plus haut, je vous expose mon point de vue. Alors s'il vous pla�t, pas de troll :)
Merci � tous pour toutes vos r�ponses :) (bien plus que j'en esp�rais) ce f�t un d�bat tr�s int�ressant :D, j'ai maintenant une vision plus large d'un expert ^^