|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Inscription : juillet 2009 Messages : 2 727 ![]() |
Est-il possible d’apprendre la programmation "en quelques heures" comme le proposent tant de livres ?
Combien de temps faut-il pour devenir développeur ? Peter Norvig est un développeur qui a fait une expérience amusante. Il a effectué une recherche sur Amazon avec les mots « apprendre en quelques jours », puis « en quelques heures ». Il a alors constaté que 90% des résultats concernaient l'informatique. Deux conclusions lui sont alors venues à l'esprit : soit le développement devient de plus en plus populaire, soit le développement est un chose très simple à apprendre. En fait, Peter Norvig opte pour une troisième option qu'il reprend du livre « How To Design Programs » : « Mal programmer est facile, n'importe quel idiot peut le faire, même les Nuls (NDR : allusion à la série "Pour les Nuls" des Editions First) ». La vérité, selon lui, est que n'importe quel champs d'activité exige une dizaine d'année de pratique avant de pouvoir s'en revendiquer expert. Qu'il s'agisse d'échecs, de piano, de sport ou de sciences, rien ne peut se faire en 7 jours, 24 heures ou 3 mois. Pour lui, le développement ne fait pas exception. Qu'il faille 10 ans, 10.000 heures ou une vie entière (en fonction des références qu'il cite), il faut du temps pour devenir un « vrai développeur ». Et Peter Norvig doute que les compétences nécessaires puissent se trouver dans des livres. Il ne nie pas l'intérêt de les lire pour compléter son savoir (les bons, tout du moins), mais sa recette pour devenir développeur ne repose pas sur eux. Celle-ci mélange l'amusement et la passion, l'échange avec les autres programmeurs, le travail, le travail et encore le travail, la connaissance du hardware (dans développement informatique il y a le mot « informatique ») et l'implication dans les évolutions des standards. A cela il ajoute des études dans le domaine (pour rentrer plus facilement dans le milieu) et l'apprentissage d'au moins une douzaine de langages différents. Tout ce qui ne se trouve pas, en résumé, dans des livres « en 7 jours ». « Allez y, achetez ce livre sur Java, il vous sera certainement utile », conclue-t-il. « Mais il ne changera pas votre vie ou votre expertise sur le sujet, que ce soit en 24 heures, jours ou mois ». Et de rêver d'une librairie remplie de livres dont les titres seraient « Apprenez à programmer en plus de 10 ans » (ou « Learning Perl the Hard Way », PDF sous licence GNU Free Documentation) ? Source : "Teach Yourself Programming in Ten Years" de Peter Norvig Et vous ? D'après votre expérience, combien de temps cela prend-il pour devenir développeur ? Quelle place tiennent les livres dans votre formation ? Qu'est-il possible d’apprendre en programmation “en quelques heures”, comme le proposent tant de livres ?
|
|
|
42
|
|
|
#2 | |
|
Membre régulier
![]() .M DIALLOÉtudiant Inscription : avril 2009 Messages : 47 ![]() |
Citation:
__________________
L'erreur est facile à tous; plus facile peut-être à celui qui croit beaucoup savoir. |
|
|
|
62
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2009 Messages : 14 ![]() |
que la connaissance naît de l'expérience, tout le reste n'étant qu'information.
Si tant est que je le veuille, je peux peut-être 'apprendre' les règles du foot ou du basket en quelques heures ; mais jamais je ne parviendrais à atteindre le niveau des meilleurs joueurs. Tout apprentissage demande plus ou moins de temps, en fonction de nos aptitudes et de notre motivation. Le côté sympa de la chose, c'est que cela ne peut pas s'acheter. |
|
|
161
|
|
|
#4 | |
|
Membre confirmé
![]() Inscription : mars 2008 Messages : 260 ![]() |
Citation:
Les livres n'ont que peu d'importance, un prof a bien plus d'efficacité. Programmer n'est pas une connaissance. Un livre aura donc moins d'impact à mon avis. On peux apprendre à programmer avec un langage en quelques heures ... si on a de l'expérience dans d'autres langages qui y ressemble ! |
|
|
|
22
|
|
|
#5 |
|
Membre à l'essai
![]() Développeur informatique Inscription : septembre 2008 Messages : 38 ![]() |
Je pense qu'il a raison dans la totalité,
concernant les livres ils sont bien adaptés pour les débutants mais sont beaucoup trop superficiels pour quelqu'un qui connait déjà le sujet. Si on veut se perfectionner il va falloir acquérir de l'expérience en développant. C'est très facile de tester son niveau dans un langage, prendre un livre du style "apprendre en 21 jours..." et venir sur les forums developpez.com et lire des sujets que présentent certaines personnes (qui ne font pas parties de la section débutants) et on se rendra vite compte qu'on n'a pas un gros niveau... |
|
|
60
|
|
|
#6 |
|
Membre Expert
![]() Développeur informatique Inscription : décembre 2008 Messages : 433 ![]() |
Je suis globalement d'accord avec lui.
Cela fait 8 ou 9 ans que j'ai tapé mes 1ères lignes de code (ahh QBasic...) depuis je n'ai cessé d'apprendre. Je n'ai que très peu utilisé de livres (d'ailleurs, c'est marrant, le seul que j'aie acheté, je l'ai trouvé très mauvais: "le C++ pour les nuls"... sic...) presque uniquement des ressources trouvées sur le net, et LA DOC des langages (gros remerciements au passage a dvp ou j'ai trouvé la plupart des ressources de qualité) et des heures a coder des trucs qui ne servent a presque rien si ce n'est assouvir une question que je me pose a un moment donné. Il n'empêche que je ne me considère toujours pas bon, parce que je manque d'expérience professionnelle. Sur le fait qu'il faille connaître une douzaine de langages, par contre, je ne le rejoins pas... Je ne suis même pas sûr d'en connaître 12 de nom! Voyons voir ça: basic, pascal, java, C/C++, asm, python, perl, ruby, smalltalk, brainfuck (niark), php, c#, ADA, powerbuilder,windev ,SQL... ? Bon, il y a toujours les versions évoluées de certains d'entre eux: delphi pour pascal, vb pour basic, mais au fond, c'est pas un peu les mêmes, pour la même raison que l'on dis C/C++ souvent, et pas C et C++? Sincèrement, j'ai fait le tour de tous ceux qui me viennent à l'esprit, et il n'y en a que 16! (je sais qu'il y en a d'autres, évidemment, mais ils me viennent pas a l'esprit) D'ailleurs, apprendre la programmation, est-ce vraiment apprendre un langage? Ce n'est pas plutôt développer une logique (algorithmique) que l'on peut appliquer à un outil (langage)? Savoir utiliser les outils de dev (système de contrôle de version, pour ne citer que ça) n'est pas non plus négligeables, idem pour les méthodes (agile, par exemple) et ce sont des choses que je n'ai jamais eu la chance de voir en cours... [edit] au autre point que je note de plus en plus, c'est que les gens confondent langage et framework! J'ai déjà entendu "je suis un dev .NET" alors que le gars ne connaît que le C#, et même pas à fond... De même, en BTS, on nous enseignait le C++ sauce MS ou QT, on utilisait CString ou QString, jamais ou nous a parlé de std::string... Savoir programmer, c'est savoir apprendre et se remettre en question avant tout pour moi, et même les nombreuses (a l'échelle de ma vie, hein) années pendant lesquelles j'ai appris en autodidacte ne me font pas prétendre être programmeur, au contraire: plus le temps passe, plus je suis humble. |
|
|
61
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2008 Messages : 17 ![]() |
je crois que être développeur( je ne parle pas de juste pouvoir écrire des codes[..]) demande beaucoup de temps d'apprentissage et d'exercice,
mais pour un développeur confirmé je crois qu'il peux parfaite envisager d'apprendre un langage de programmation en quelques jours. Donc si ces livres dont vous faite allusion parle "d'apprendre un langage en quelques jours", on ne peux pas nier complètement le concept. |
|
|
26
|
|
|
#8 |
|
Membre éprouvé
![]() Développeur C++/Qt/OpenGL Inscription : septembre 2002 Messages : 229 ![]() |
Même si quelques heures ou quelques jours ne suffisent de toute façon pas pour apprendre à développer, le temps d'apprentissage dépend malgré tout fortement du langage concerné.
Si j'ai pu avaler le développement Labview en quelques jours seulement (avec beaucoup d'antécédents sur divers langages qui m'ont largement facilité la tache...), après maintenant plus de 10 ans de langage C++ je continue à en découvrir certaines subtilités. Et si ces subtilités peuvent paraître futiles pour un développeur débutant, c'est pourtant ce qui ferra au final la différence sur la qualité du code produit. Après il y a savoir programmer (à savoir réaliser un petit logiciel capable d'automatiser quelques tâches, une macro par exemple) et savoir concevoir une application complexe, avec sa phase d’architecture et de conception. Si le premier cas peut éventuellement être appris en quelques heures, le second peut prendre des années pour être totalement maitrisé. |
|
60
|
|
|
#9 |
|
Futur Membre du Club
![]() |
Apprendre un langage met beaucoup de temps (pour l'instant je ne suis que à 4 ans d'expérience dans les langages web html-php-javascript-jquery-sql) .
Je sors d'une formation où il y avait des apprentis et des "juste étudiant". je peux vous dire qu'un "juste étudiant" ne sait pas grand chose et ne cherche pas à apprendre par lui-même (hors passionné). Développer reste gratter et rechercher des solutions, faire des phases de test de ses applications. Il reste vrai qu'un livre ne permet pas d'apprendre en quelques jours un langage. Mais il permet d'avoir de petites bases après à nous de les approfondir.... De toute façon, il faut être passionné pour faire ce métier.... |
|
|
40
|
|
|
#10 |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 720 ![]() |
Et dans le même esprit, je viens de lire ça : Become a Good Programmer in Six Really Hard Steps (il fait d'ailleurs référence à l'article de Peter Norvig)
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
40
|
|
|
#11 |
|
Membre actif
![]() |
Il y a une différence entre apprendre un langage de programmation et apprendre à programmer. C'est beaucoup plus difficile d'apprendre à bien programmer...
|
|
|
90
|
|
|
#12 | |
|
Membre éclairé
![]() Thibault DambrineDéveloppeur .NET Inscription : mai 2005 Messages : 72 ![]() |
Citation:
Apprendre une syntaxe c'est quelques heures, apprendre à programmer c'est beaucoup plus long, je programme depuis plus de 10 ans dans divers langages et je ne me qualifierais pas de "bon développeur" comparé à mes pairs. |
|
|
60
|
|
|
#13 |
|
Expert Confirmé
![]() Développeur informatique Inscription : août 2005 Messages : 1 457 ![]() |
Personnellement je n'ai eu qu'un an de formation professionnelle à l'AFPA.
Je considère qu'il m'a fallu ensuite 2 années d'expérience professionnelle pour atteindre la maîtrise de la programmation procédurale, puis 2 années de plus pour la maîtrise de l'objet. Et je me considère seulement compétent, certainement pas expert. Alors en quelques jours ... C'est comme les pubs "perdez 10 kilos en 1 mois avec le régime Wetwetchers". C'est n'imp.
__________________
"Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste." Kenneth E. Boulding "/home/earth is 102% full ... please delete anyone you can." Inconnu |
|
|
100
|
|
|
#14 |
|
Nouveau Membre du Club
![]() |
Je suis d'accord que pour apprendre à programmer rien ne vaut mieux que l'expérience, car on voit plein de cas qui ne sont pas abordés dans les livres et mette notre tête (nos nerfs?) à rude épreuve.
Mais tout de même certains livres sont d'excellente qualité et vous permettent de découvrir la programmation, et les langages sous un autre angle en expliquant les spécificités des langages/fonctions. Personnellement je lis beaucoup pour me tenir à jour des évolutions des langages web, et entre nous, un bon livre me fait gagner beaucoup de temps par rapport aux apis qui sont très indigestes et ne vous aident que lorsque vous maîtrisez le langage mais avez oublié le nom des fonctions! Je ne me qualifierais pas comme "bonne" développeuse car je suis autodidacte, mais autant dire que sans les livres, je serais encore loin de mon niveau actuel. |
|
|
22
|
|
|
#15 | |
|
Membre du Club
![]() Développeur Web Inscription : janvier 2011 Messages : 7 ![]() |
Citation:
Aujourd'hui j'ai la chance d'avoir trouvé mon premier emploi dans le domaine du développement web, mais je peux dire que s'il n'y avait pas internet ou mes collègues pour me mettre sur la voie a certains moment, je galérerai ! Un livre peut nous apprendre les bases, mais la maitrise viendra avec l'expérience. |
|
|
|
60
|
|
|
#16 |
|
Expert Confirmé
![]() Inscription : décembre 2007 Messages : 1 908 ![]() |
Très vieil article, mais toujours d'une actualité brulante.
Le résumé manque juste d'un point qui me semble important : Peter Norvig insiste aussi sur la nécéssité d'aller plus loin à chaque essai : si je fais le même programme de garnissge de données pendant 10 ans, toujours avec les mêmes techniques, je ne progresserait pas. Si je tente de faire des choses que je ne connais pas encore, alors oui je progresse.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten : 1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception 2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences 3)le temps de comprendre toutes les exigences, le projet est terminé 4)le temps de terminer le projet, les exigences ont changé Et le serment de non-allégiance : Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée. |
|
|
41
|
|
|
#17 |
|
Membre Expert
![]() ![]() Ludovic SolczynskiDéveloppeur .NET Inscription : avril 2008 Messages : 1 446 ![]() |
Cela fait 5 ans que je développe, et chaque jours (ou presque) j'apprends de nouvelles choses, je suis confronté à de nouveaux problèmes.
Apprendre un language en quelques heures ou quelques jours, j'y crois pas trop... En revanche cela peut généralement suffire à un besoin précis pour la création d'une application ou d'une interface web par exemple... Rare sont les personnes qui peuvent prétendre "connaitre un langage", car cela sous-entend connaitre toutes les fonctions, toutes les subtilités, les bugs...
__________________
Aide les autres... Et les autres t'aideront.... ![]() Mon site DVP Mon site perso N'oubliez pas de voter pour les messages dont la réponse est pertinente |
|
41
|
|
|
#18 |
|
Membre Expert
![]() ![]() Demazy MbellaDéveloppeur Web Inscription : août 2010 Messages : 620 ![]() |
D'après votre expérience, combien de temps cela prend-il pour devenir développeur ?en tout cas c'est pas en 6 jours ou 6 mois mais ça se compte en plusieurs années en fonction des aptitudes de la personne de sa passion pour le métier et de son expérience acquise au fil des projets Quelle place tiennent les livres dans votre formation ?les livres je les classes en 3 catégories : les livres pour grand débutant pour apprendre le B A BA de la programmation, les livres pour intermédiaires: ils ont une certaine expérience et il comprennent déjà la différence entre programmer et développer et les livres pour expert ou il faut avoir une certaine expérience du développement et ou l'aspect architecture et gestion d'un projet informatique sont expliquer afin de rendre les développements conforme au standard Qu'est-il possible d’apprendre en programmation “en quelques heures”, comme le proposent tant de livres ?il est possible de lire un livre en quelques heures, il est possible de faire un "hello world" en quelque heure, il est même possible d'écrire un programme en quelques heures, mais devenir un développeur ... ça ça se compte en Années pour ne pas dire toute une vie je me rappelle mes premiers cours de programmation a l'université et la question qui revenait sans cesse : comment faire pour devenir un bon développeur? et notre enseignant de nous dire devenir développeur c'est comme devenir forgeron : on le devient en forgeant! donc pour devenir développeur faut tout simplement développer
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin FranklinL'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin FranklinLe hasard, c'est le déguisement que prend Dieu pour voyager incognito : Albert Einsteinbon je m'arrête là au risque de me faire buter
|
|
|
51
|
|
|
#19 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 808 ![]() |
C'est quoi pour vous apprendre ? Maîtriser le sujet et être capable de programmer pour une usine nucléaire ou une navette spatiale ?
Ou bien obtenir les bases nécessaires à la compréhension de notions sur le sujet et permettre ainsi l'apprentissage en autonomie de ce qu'il nous faut quelque soit le contexte ? Car dans le premier cas, je dirai toute une vie... Dans le second cas, c'est tout à fait possible en une semaine.
__________________
|
|
|
50
|
|
|
#20 |
|
Membre éprouvé
![]() ![]() Xavier ScheplerÉtudiant Inscription : septembre 2009 Messages : 273 ![]() |
Il suffit peut être de quelques heures pour écrire un premier programme, mais il faut plusieurs mois pour apprendre un langage, et plusieurs années pour le maitriser et en faire une bonne utilisation.
Des connaissances du matériel sont effectivement un plus, et du fonctionnement du "système" en général. Par exemple, un développeur web, il lui faudra des connaissances réseaux, sur les protocoles TCP/IP, HTTP. Ensuite, il faudra qu'il apprenne un minimum de chose sur les programmes avec lesquels s'exécutent son application. En environnement LAMP, connaître PHP tout seul, ça mène pas loin. Après des études de deux ans minimum, il faut au moins deux années sur le terrain pour vraiment toucher. Apprendre à configurer Apache, MySQL, les lignes de commande Linux, PHP, xHTML, XML, CSS, Javascript, ... Sans parler des frameworks, de leurs conventions. Bref, pour être vraiment bon, faut beaucoup beaucoup de travail. Et les environnements techniques sont nombreux. Perso, j'ai encore jamais vu de boite avec un développeur PHP, un admin SGBD, un intégrateur xHTML/CSS, un admin réseau, dans les petites structures, t'es toujours obligé de toucher à tout.
__________________
Keep it simple, stupid ! |
|
|
50
|
Copyright © 2000-2012 - www.developpez.com