Quelles sont les méthodes d'apprentissage à la programmation les plus efficaces ?
Un développeur propose une solution pour apprendre en une nuit

Le , par Stéphane le calme

37PARTAGES

8  1 
« Les logiciels sont dans toute chose », a rappelé Eben Moglen, fondateur du Software Freedom Center et professeur de droit à l’université Columbia. Une affirmation qui met en exergue l’avènement de l’ère du numérique : que ce soit dans la domotique, dans l’internet des objets, les smartphones, les avions, les appareils médicaux ou même les voitures, les logiciels sont de plus en plus présents dans notre quotidien.

Autour du logiciel figurent deux entités : ceux qui les utilisent et ceux qui les conçoivent. La tendance actuelle semble montrer que ces deux types de population n’ont pas encore atteint leur niveau de saturation. D’ailleurs, des articles, comme celui de PayScale qui s’est intéressé aux métiers les mieux payés du monde, donnent une place importante au métier d’ingénieur logiciel. Selon une étude de PayScale, les trois métiers les mieux payés pour des personnes fraîchement diplômées sont tout d’abord celui de l’ingénieur électrique, puis d’ingénieur logiciel et enfin d’ingénieur mécanique.

En faisant fi des différentes motivations à l’apprentissage de la programmation (que la personne ait choisi de s’orienter vers une carrière de développeur parce qu’elle a entendu dire que les entreprises recrutent beaucoup de développeurs ces temps-ci ou que la personne soit juste une passionnée), il convient de se demander quelle serait la méthode pour un apprentissage optimal.

Certains vont choisir d’aller dans des écoles, d’autres vont opter pour un apprentissage en autodidacte. Mais la problématique ne change que légèrement pour ce dernier cas ; il faut d’abord opter pour le meilleur langage de programmation et ensuite choisir la meilleure façon de l’apprendre. Deux axes qui peuvent constituer deux sujets de débats. D’ailleurs, pour le premier, vous avez été nombreux à classer C, Python et C++ en tête de liste, expliquant les raisons qui vous amenaient à conseiller untel langage plutôt qu’un autre pour débuter. Ici, ce qui va nous intéresser ce sont les méthodes d’apprentissage les plus efficaces.

L’apprentissage peut être défini par plusieurs paramètres comme le niveau de difficulté ou encore le temps estimé d’apprentissage. C’est ce dernier paramètre qu’un développeur va tenter de simplifier au maximum en apportant la réponse aux personnes qui se demandent comment elles pourraient apprendre à programmer en une seule nuit : « prenez votre ordinateur portable, rendez-vous au Pôle Nord au début de l’hiver. Vous aurez une nuit de six mois pour apprendre à programmer. Une fois rendu là-bas, effectuez juste des recherches Google ; il y a une diversité d’excellents tutoriels sur le sujet en ligne ».



Source : imgur

Et vous ?

Qu'en pensez-vous ? Pouvez-vous partager les méthodes que vous avez utilisées lors de votre apprentissage à la programmation et qui se sont avérées efficaces ?

Voir Aussi :

quel est le meilleur langage pour débuter la programmation

Tout le monde ne peut pas devenir développeur

Eben Moglen : « les logiciels propriétaires sont des matériaux de construction dangereux »

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Bousk
Rédacteur/Modérateur https://www.developpez.com
Le 22/10/2015 à 17:40
12  1 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 22/10/2015 à 13:50
Un développeur propose une solution pour apprendre en une nuit
Le problème c'est qu'après certaine personnes ayant suivie ce genre d'apprentissage (par exemple suivre un mooc de 2 semaine sur un site français dont je ne donnerait pas le nom) ce prennent pour des développeurs.

Or savoir codé est différent d'être développeur. Savoir codé c'est bien pour faire des petits scripts (en python, vbs, autoIt...etc) pour se simplifier la vie tous les jours, mais y'en as qui croient qu'il peuvent directe partir dans de gros projet juste en suivant un tuto.

C'est selon moi le vrai danger de cette effet de mode, de vouloir enseigner à tous pris la programmation à tous le monde (notamment de l'html à des collégiens sur des Ipad).
9  1 
Avatar de pier.antoine
Membre chevronné https://www.developpez.com
Le 23/10/2015 à 13:29
Bonjour à tous

Je ne suis pas professionnel de l'informatique, mais je m'y interesse et je tripatouille quelques trucs pour me faciliter la vie au bureau.

Bref, pour moi, développer ne peut se réduire à coder.

En prenant une analogie avec la voiture, je dirais que coder c'est maitriser le fonctionnement d'un modèle particulier de voiture.
Le langage est la marque de la voiture.

Et même si vous avez votre permis, cela ne fait pas vous ni un chauffeur de car, ni un livreur, ni un coureur de formule 1, ni de rallye, ni être prêt à effectuer un long voyage.
Dans chaque cas, il y a des règles spécifiques, dites et non dites.

Aller de Paris à Moscou, quelque soit le véhicule, cela se prépare : itinéraire, ravitaillement, nuit, frontière, langue, code de la route....

Développer c'est un peu ca pour moi. Au final, ce sera une suite de ligne de script, mais avant il faut envisager le cadre général, comprendre les enjeux, les volontés, les applications, négocier parfois, avancer son point de vue.

J'ai trop souvent vu des projets mal conçus au départ, auxquels il faut ajouter des bouts de trucs par dessus, en essayant de garder une cohérence. Et c'est galère parfois !!!

Pierre
6  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 22/10/2015 à 13:44
La meilleure façon d'apprendre c'est d'être motivé par ce qu'on a envie d'apprendre.
Ce n'est pas une question de méthode, le cerveau est très intelligent et s'adapte pour peu qu'il se concentre correctement sur la dite chose.
5  1 
Avatar de sizvix
Membre habitué https://www.developpez.com
Le 22/10/2015 à 14:21
Et ça dépend de ce que l'on appel "maîtriser" .
Juste le langage ? Les bibliothèques standards ? Les APIs "de base" ? Les principaux framework ? Les principaux outils ? Pouvoir se passer de la doc ? ...
4  0 
Avatar de kakashi99
Membre confirmé https://www.developpez.com
Le 22/10/2015 à 15:57
Citation Envoyé par sazearte Voir le message
C'est selon moi le vrai danger de cette effet de mode, de vouloir enseigner à tous pris la programmation à tous le monde (notamment de l'html à des collégiens sur des Ipad).
j'ai jamais compris ça... pourquoi tout le monde veut que tout le monde sache développer un logiciel ??
surement parce qu'on en utilise tous les jours, mais dans ce cas il faudrait que (quasiment) tout le monde apprenne la mécanique, la plomberie, etc...

être développeur, c'est un métier (comme un autre) et ça s'apprend... et pas en une nuit (même si elle dure 6 mois )
4  0 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 22/10/2015 à 22:28
j'ai jamais compris ça... pourquoi tout le monde veut que tout le monde sache développer un logiciel ??
surement parce qu'on en utilise tous les jours, mais dans ce cas il faudrait que (quasiment) tout le monde apprenne la mécanique, la plomberie, etc...

Je pense que savoir codé des scripts peut être très utile en entreprises et dans la vie de tous les jours.

Un exemple simple: plutôt que de renommer 100 dossiers a la main, l'employer sera plus productif en faisant un petit script (bash/python peut importe le langage).

Il y'a 1ans j'ai appris le langage AutoIt sous Windows et depuis j'ai codé beaucoup de petits script sympa qui améliore la vie de tous le monde dans la boite. Et depuis même les secrétaires ont appris ce langages et codent leurs propres petits scripts sans mon aide. Donc je pense que savoir codé un minimum peut être utile en entreprise.

Comme je l'ai déja dit, le probleme c'est que les gens se prennent pour des développeurs juste en connaissant 10 commandes bash.

Et les pires se sont les personnes qui sous prétexte qu'ils ont ouverte une console se prenne pour des "hackers" (comme dans les films hollywoodiens ou le mec pirate le site du gouvernement en 30 seconde et emploie n'importe comment du vocabulaire technique en plaçant des mots comme protocoles dans toutes les phrases, tous le monde se souvient de Jurassic park ou une fille de 12ans pirate Linux ).
4  1 
Avatar de Tryph
Membre émérite https://www.developpez.com
Le 23/10/2015 à 13:56
ce qui est bien avec ce thread c'est qu'on peut voir qui répond sans lire l'article
4  0 
Avatar de NSKis
En attente de confirmation mail https://www.developpez.com
Le 22/10/2015 à 18:22
Apprendre la programmation en 24 heures?

Ouais sans problème! C'est comme avec l'anglais: Tu crois parler anglais jusqu'au jour où tu dois tenir une discussion avec un vrai anglophone et lire l'anglais jusqu'à ce que tu essaies de lire un article de journal

A partir de ce moment, tu te rends compte que ton "parler anglais" équivaut à "baraguiner de l'anglais pour commander une bière"!
3  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 24/10/2015 à 1:01
Oui la meilleure chose reste encore de pratiquer. C'est facile de lire un tuto lambda trouvé sur le Net où tout parait simple. Avoir les mains dans le cambouis est une autre paire de manches. C'est là qu'on apprend à utiliser les bases du tuto, d'autres bases que le tuto n'a pas mentionné, que l'on voit les problèmes arrivant couramment et que l'on apprend aussi à les surmonter. J'ai envie de donner les attributs non publics d'une classe en programmation objet en guise d'exemple. Quand on ne veut pas que ce soit public on dit que c'est private. Jusqu'au jour où il y a un bout de code qui te serait bien utile et que tu ne peux pas utiliser car il est en private et non en protected. Du coup t'es obligé de faire du pompage de code pour que tu puisses l'utiliser tout en maudissant ce de développeur qui n'a pas compris l'intérêt du protected. À partir de ce moment là tu sais qu'en général il vaut mieux utiliser protected plutôt que private quand tu ne veux pas faire de public. Un autre exemple qui me vient à l'esprit est le const de C++. Dans les tutos on t'apprend que const c'est le Bien, que c'est bien de le mettre quand tu ne veux pas qu'on touche à une variable ou quand une méthode ne modifie pas un objet... Jusqu'au jour où g++ te facilite le transit intestinal car ton code n'est pas bon à un const près. const T et T ? Il dit qu'il ne voit pas le rapport. Pour lui ça a autant de points communs qu'un politicien d'extrême-gauche avec un autre d'extrême-droite, c'est-à-dire aucun si ce n'est d'attiser la haine, ici celle du développeur face à son code. La fois suivante tu t'abstiens d'en mettre si ça peut marcher sans.

Du coup on a un corollaire à ceci, à savoir qu'il faut entretenir cette pratique. La programmation n'est pas comme le vélo. Arrêtez de pratiquer une techno et le retour sur celle-ci ne sera pas simple.

Le choix de la techno est un autre débat. Même ici apprendre "la programmation" est un mot bien vague.

Citation Envoyé par kakashi99 Voir le message
être développeur, c'est un métier (comme un autre) et ça s'apprend... et pas en une nuit (même si elle dure 6 mois )
Comme pour beaucoup de choses, c'est 5 minutes pour prendre en main et puis une éternité pour maîtriser.

Sur la durée, 6 mois c'est déjà bien pour avoir une expérience dans une techno. Bien sûr on ne devient pas Rasmus Lerdorf (PHP), Guido Van Rossum (Python) ou James Gosling (Java) en aussi peu de temps, mais ce n'est pas pour autant que l'on ne sait toujours pas faire, loin de là. Après, être bon développeur ne rime pas forcément avec une armada de certifications ou autres reconnaissances dans ce genre. Ne soyons pas élitistes. Ce n'est pas parce qu'on n'a pas X années d'expériences et des certifications partout que l'on ne sait pas coder non plus.

Perso c'est comme ça que j'ai appris le PHP. Je ne suis pas et ne serai jamais Rasmus Lerdorf. Mais en 6 mois (7 pour être plus précis), je suis passé de "noob" à quelqu'un de parfaitement autonome sur la techno. Je ne suis pas Rasmus Lerdorf, je ne le serai jamais, mais ce n'est pas pour autant que je suis un Jon Snow du PHP qui "ne sait rien". Depuis la seule chose que je peux faire, maintenant que je connais que trop bien les bases, est d'appliquer la seconde partie de mon argument, à savoir utiliser l'éternité pour consolider chaque jour un peu plus mon niveau de PHP (ce que je fais puisque maintenant j'en suis à plus que 7 mois de PHP ).

Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
Si prendre des risques, c'est plonger les gens de supports dans l'urgence tout un week end à cause d'une bidouille mal-faite et pas testée sérieusement, je ne suis pas sûr que je partage ton opinion de la «créativité» et de la «pratique dans le réel»... (cas vécu...)
Un projet réel n'est pas forcément un projet foireux de SSII. Un projet pour apprendre peut aussi être un projet perso mené de A à Z, de la conception au packaging. L'avantage du projet perso est justement qu'il n'y a pas de pression qui peut chauffer le développeur à blanc sur la techno. L'apprentissage n'est déjà pas simple, alors ce n'est pas la peine de se rajouter des contraintes supplémentaires comme une pression pro ou bien des moyens d'apprentissages nécessairement en anglais quand il en existe d'autres dans des langues où l'on est plus à l'aise. C'est là qu'on peut parler de "créativité", avec un projet où l'on peut partir comme on veut pour bien apprendre.
3  2 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web