Quand et comment apprendre à programmer ?

Vignette du podcast 1 : Quand et comment apprendre a programmer ?

Je vous propose un podcast sur quand et comment apprendre à programmer ?

Vous pouvez l’écouter directement dans le navigateur ou le télécharger avec le lien “Télécharger” en dessous du lecteur.

Vous trouverez ci-dessous une retranscription du contenu du podcast.

 

 

Commençons par le quand ?

Nous allons surtout commencer par le quand ?

Je rencontre souvent des personnes qui me disent attendre, qui veulent, en fait, avoir la bonne idée, le bon projet, être avec les bonnes personnes, avoir sous la main le bon cours, le bon livre, le bon format, etc. Le bon professeur.

Au final je pense que ces personnes ont peur de se tromper et de débuter leur apprentissage dans une direction qui soit une mauvaise direction et du coup perdre du temps. Et je leur pose souvent cette question : vaut-il mieux avoir peur de commencer à faire quelque chose et du coup attendre la bonne situation, le bon langage, le bon professeur, etc. Pendant des mois et du coup, ne rien faire. Ou, vaut-il mieux faire quelque chose et tant pis on prend le risque de se tromper, mais on a fait quelque chose et au final en fait même si vous vous trompez, vous apprenez des choses. Vous pratiquez quelque chose et du coup vu que vous l’utilisez, vous apprenez des choses. Ma réponse je pense que vous l’avez compris, c’est qu’il vaut mieux faire quelque chose tout de suite qu’au final ne rien faire.

 

La citation de Lao-Tseu

J’aime bien cette citation de Lao-Tseu :

“Un voyage de mille lieues commence toujours par un premier pas”.

 

Quand on pense aux choses de cette manière-là effectivement on doit commencer par un premier pas, par quelque chose à faire en premier. Souvent on a peur de ce premier pas parce que là en l’occurrence, c’est aller dans une direction inconnue, vous voulez apprendre à programmer, mais vous ne savez pas comment vous y prendre. Tant pis, faites-le quand même, vous verrez qu’à force de faire des pas, vous allez vous rendre compte que vaut mieux faire d’une certaine manière. Bon, d’accord, peut-être que sur vos 10 premiers pas il y en avait 7 ou 8 qui étaient des pas un peu dans la mauvaise direction, mais ce n’est pas grave.

Le plus important c’est de savoir maintenant quelle est la bonne direction et d’aller dans cette bonne direction. Et au final, je suis convaincu que les gens qui ne sont pas partis à faire justement ce premier et les pas qui suivent sont restés toujours au même endroit ou, voire même, en ont fait beaucoup moins. Donc posez-vous cette question de cette manière-là, vaut-il mieux rester à l’arrêt pour attendre la bonne occasion, les bonnes personnes, la bonne situation ou partir comme ça à l’aventure et débuter quelque chose et apprendre sur le chemin plein de choses.

Je vous invite moi, vous l’avez compris, à débuter tout de suite, à commencer sans attendre et vous allez apprendre chemin faisant en fait.

 

Comment débuter ?

Je vais répondre à cette question en la scindant en deux parties la première c’est qu’est-ce que l’on choisit pour débuter, quel langage, quel OS, quel environnement de développement, etc. ?

 

Je pense que c’est un faux débat, j’ai publié un article sur le blog traitant un petit peu de ce sujet, je vous rajouterai le lien, je ne me rappelle plus quel est le titre, je crois que c’est “quel langage utilisé pour débuter ?” (Note : il s’agit de “Quel premier langage de programmation choisir ?“).

Mon point de vue c’est que, c’est un petit peu comme la question sur est-ce qu’il faut attendre, c’est un faux débat, vaut mieux débuter avec ce qu’on a sous la main quelque part et vous allez apprendre, là aussi. Je rencontre des personnes qui me disent

“Ah oui, mais j’ai entendu dire que le système d’exploitation, il vaut mieux utiliser Linux ou il vaut mieux utiliser un Mac, mais moi je ne connais pas !”.

Si vous connaissez que Windows, utilisez Windows, c’est très bien pour programmer.

En fait, surtout quand vous êtes débutant, tous les systèmes d’exploitation sont très bien pour programmer ! J’ai même vu des gens qui ont appris à programmer sur…; d’ailleurs j’ai commencé à programmer sur ma calculatrice Casio, c’était un de mes tout premiers langages. Si vous avez une Texas Instruments, vous commencez sur Texas Instruments !

Je pense que le plus important c’est de justement de le faire, on rejoint cette idée de premier pas. Faites-le avec les moyens du bord, avec ce que vous avez sous la main.

 

En suivant un projet

Alors, là il y a un peu 2 chemins, soit vous avez une idée de projet, quelqu’un qui vous demande de faire quelque chose, etc. Génial, je trouve que c’est le mieux pour débuter ! Parce que vous avez un projet, vous avez des contraintes, vous avez un besoin, vous avez quelque chose à faire, donc ça va vous motiver pour avancer, ça devrait. Du coup, quel langage, quel OS, quelle forme, etc. ? Est-ce que c’est un site web ou est-ce que c’est une application sur un téléphone ou votre ordinateur ?

Du coup c’est le projet qui va vous dicter ça. Le projet, il y a un besoin et pour répondre à ce besoin il faut faire le logiciel d’une certaine manière.

Un de mes premiers logiciels, c’était justement un logiciel pour enregistrer et être capable de prévoir la météo. Alors je vous le dis tout de suite, c’était bien trop ambitieux et cela n’a abouti à rien. Mais j’ai passé beaucoup d’heures à le faire et j’ai appris beaucoup de choses au passage. Même si au final ça n’a pas servi et là du coup je l’ai fait avec le langage que je connaissais à l’époque qui était Turbo Pascal et je l’ai fait en mode application sur l’ordinateur.

Prenez les contraintes de votre projet et faites-le avec ces contraintes-là, utilisez le langage qui va bien pour ça ou que vous connaissez. Voilà, c’est le premier cas si vous avez un projet.

 

Si vous n’avez pas de projet et que vous souhaitez apprendre, commencez par les ressources pour débutant. Alors c’est l’introduction parfaite à mon troisième point.

 

Comment débuter si vous n’avez pas de projet à suivre ?

Moi je recommande souvent pour les personnes qui veulent vraiment s’initier au tout début et qui ne connaissent pas du tout, il y a une application qui est sous forme d’un jeu auquel j’ai fait jouer mes enfants. C’est en anglais c’est le seul petit bémol, mais si vous voulez apprendre à programmer je vous invite à dépasser le blocage de l’anglais parce qu’il y a énormément de ressources en anglais, il y en a beaucoup moins en français.

 

L’application LightBot

L’application s’appelle LightBot, je vous mettrais le lien aussi en description.

Cette application, donc c’est un jeu, vous avez un robot, vous devez faire déplacer ce robot et allumer des Lumières à certains endroits. C’est très bien pour vous initier à la programmation parce que ça vous force à préparer un code qui ensuite va être exécuté. C’est exactement ce qui se passe quand on crée du logiciel, on écrit un code d’un côté et ensuite on lance l’exécution pour voir si ça fait bien ce que l’on voulait que ça fasse.

LightBot vous apprend à faire ça, il vous apprend à anticiper ce que va faire le code, à le programmer de la bonne manière. Vous avez déjà les prémices de comment on fait pour déboguer un code. J’ai trouvé que c’était à la fois très simple d’accès et en même temps ça vous initie aux fondamentaux de la programmation.

 

Le site Scratch

Ensuite la deuxième ressource que vous pouvez utiliser pour apprendre à programmer c’est Scratch. Idem, je vais vous mettre le lien en description.

Scratch est un très bon logiciel, c’est un site web à la base, pour faciliter l’apprentissage du code. Scratch vous permet de facilement débuter en programmation.

C’est un petit peu plus compliqué d’accès que lightbot c’est pour ça que je le propose en deuxième.

Mais, c’est aussi beaucoup plus puissant, ça vous permet de faire beaucoup plus de choses. Il y a énormément de ressources sur internet, il y en a même en français, vous avez des livres sur scratch, vous avez des jeux qui tournent autour de scratch, vous avez plein de vidéos YouTube. Il y a énormément de ressources sur scratch donc faites des recherches vous trouverez pleins de choses pour débuter sur scratch.

 

Le livre Programmer pour les nuls

Ensuite j’ai un livre à vous recommander, là aussi il y a énormément de livres sur comment débuter en programmation. Il y en a un en particulier que j’aime bien, alors je ne les aie clairement pas tous lus, celui-là m’a attiré parce qu’il fait partie de la collection pour les nuls. J’aime bien la collection pour les nuls.

Je l’ai feuilleté et je l’ai trouvé bien, donc je l’ai acheté. Je vous prépare un résumé, il faut que je finisse de lire le livre d’abord avant de vous faire le résumé , donc ça viendra plus tard. Programmer pour les nuls, je le trouve très bien, il vous explique tous les fondamentaux de la programmation, il vous explique l’histoire. Je suis convaincu que connaître l’histoire de quelque chose vous aide à comprendre comment cela fonctionne, pourquoi on en est là. Il vous explique les mécaniques de base du code, la logique binaire, comment se passent les calculs, etc. Il vous explique tout ça pour vous le compreniez et mine de rien c’est important de comprendre ça pour pouvoir programmer correctement, je pense. Donc c’est, je trouve, un très bon livre.

 

Ensuite j’ai 3 sites à vous recommander.

Le site Code Combat

Le premier c’est code combat. C’est un site dédié à l’apprentissage de la programmation. Le premier niveau est gratuit, c’est très graduel et c’est vraiment dédié à l’apprentissage donc pour le coup c’est très bien fait. De mémoire ce n’est possible que pour le python, mais comme je vous l’ai dit tout à l’heure ne soyez pas freiné par le langage c’est une manière d’apprendre et pour le coup le python et un très bon langage pour apprendre à programmer. (Note supplémentaire : il est également possible de coder en JavaScript et en CofeeScript)

 

Les sites Codingame et HackerRanck

Les deux autres sites qui à mon sens sont un petit peu plus durs d’accès, parce que la courbe d’apprentissage est un petit peu plus forte, c’est Hacker Ranck qui est en anglais et Codingame qui est en français. Ces deux sites ont l’avantage de vous proposer de programmer dans n’importe quel langage. Enfin ils proposent en tout cas beaucoup de langage.

Tous ces sites reposent sur le même système, ils vous proposent un problème à résoudre. Vous allez devoir créer un algorithme dans le langage choisi et vous allez voir un personnage bouger ou un vaisseau bouger qui va utiliser votre algorithme en tant qu’intelligence.

Et par contre vous n’avez pas du tout à gérer la partie graphique, c’est déjà fourni par le site. C’est assez ludique et sympa donc allez-y, a minima utilisez les parties gratuites. Alors précision, l’avantage de Codingame et de Hacker Ranck c’est qu’ils sont, à ma connaissance, entièrement gratuits. En tout cas je m’en suis déjà servi je n’ai pas eu à payer. Pour Code Combat qui lui est orienté apprentissage pur, vous avez à payer. J’ai regardé juste avant, c’était 99 dollars pour un accès illimité à vie, donc bon, pourquoi pas.

 

Le modèle de fonctionnement de ces sites

Pour les autres, sachez qu’en fait leurs modèles de fonctionnement c’est de vendre aux entreprises le fait de faire passer des tests aux candidats. Ça, c’est un aspect qui ne vous regarde pas du tout, c’est en parallèle, mais ils utilisent en fait la même plateforme. Et leur deuxième business model c’est de faire des sessions de recrutement où en fait ils vont vous inviter régulièrement, là je parle en particulier de Codingame que je connais mieux que Hacker Ranck.

Ils vont vous inviter régulièrement à des sessions, des challenges, donc c’est sur un weekend, sur une soirée ou sur une semaine. Il y a un classement qui est fait au niveau national ou peut-être même international et en parallèle quand vous vous inscrivez à cette session, là vous dites si vous êtes intéressé par trouver un emploi ou pas. En fait la session est financée par une entreprise ou plusieurs entreprises.

En tout cas profitez des parties accessible et gratuite, je vous l’ai dit au début c’est intéressant d’utiliser tous les moyens qui sont à votre disposition. Pour le coup ces sites vous offrent des possibilités pour apprendre les langages. Ça ne va pas tout faire parce qu’il reste d’autres aspects pour pouvoir programmer, le langage n’est qu’une partie du problème. C’est déjà intéressant de travailler le langage sur ces sites-là.

 

Bien évidemment je vous mettrai tous les liens dans la description également.

 

En conclusion

Voilà, j’espère que ce premier podcast vous a plu !

Je suis désolé par avance s’il y a eu des hésitations ou des problèmes audios. C’est mon premier podcast, j’espère m’améliorer avec le temps.

N’hésitez pas à me faire un retour en commentaire sur la page de blog dédiée (ci-dessous). Je vous ajoute un lien dans la description là aussi. Si vous avez d’autres questions, si je n’ai pas été clair ou même, pourquoi pas, si vous n’êtes pas d’accord, dites-le-moi dans les commentaires.

Si cet épisode vous a plu, partagez-le à toutes les personnes que cela peut intéresser.

 

Partager l'article
  •  
  •  
  •  
  •  

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.