Comment apprendre un nouveau langage de programmation rapidement

J’ai toujours été étonné de voir comment les programmeurs pouvaient apprendre de nouveaux langages

De la même manière que regarder un polyglotte ( une personne qui parle plusieurs langues ) passer du russe à l’allemand au portugais et tout ce qui se trouve entre les deux suscite un étonnement intense, regarder un programmeur passer d’un langage à un autre sans transpirer suscite le même émerveillement.

Ces programmeurs m’ont toujours semblé appartenir à une autre classe. J’ai toujours pensé que ces programmeurs étaient naturellement doués et qu’ils étaient ces individus qui, en tant qu’étudiants, passaient rapidement les cours de mathématiques et de sciences sans étudier. J’ai toujours pensé que je n’étais pas dans leur catégorie.

Jusqu’à ce que je commence à apprendre à coder.

Au moment où j’ai compris que personne ne naissait en sachant coder, j’ai enfin réalisé que personne n’était vraiment « doué » lorsqu’il s’agissait d’apprendre un nouveau langage de programmation. En fin de compte, tout dépend de la façon dont vous apprenez et de l’efficacité de votre style d’apprentissage.

Maîtrisez les principes fondamentaux du coding

Une fois que vous avez appris à coder dans une langue, vous savez à peu près comment coder dans toutes les langues. La seule différence réside dans la syntaxe, la structure et les conventions. En d’autres termes, n’oubliez pas les principes de base. Tout comme la ponctuation, la structure des phrases et l’utilisation des noms, des pronoms et des verbes sont utilisées dans toutes les langues naturelles, les listes, les instructions if/else, les boucles for et les types de données sont utilisés dans (presque) tous les langages de programmation.

N’oubliez pas que les principes fondamentaux de la pensée informatique et du codage s’appliquent à tous les langages de programmation.

Par conséquent, une fois que vous aurez compris comment les listes, les instructions if/else, les boucles for et les types de données (entre autres) sont utilisés dans un seul langage, vous saurez comment ils fonctionnent dans n’importe quel langage de programmation. La seule différence réside dans la syntaxe, la structure et les conventions qui les entourent.

Si vous retenez une chose de cet article, qu’elle soit la suivante : ne lésinez pas sur l’apprentissage des fondamentaux de la programmation.

Codez quelque chose de plus significatif que « Hello World ».

Il y a longtemps, dans un pays lointain, il est devenu conventionnel, non, traditionnel, que votre premier programme dans un nouveau langage soit « Hello World ».

Bien que cela soit très bien, quand est-ce que « Hello World » est devenu la première application la plus significative d’un nouveau langage de programmation ? Pourquoi ne pas faire quelque chose d’audacieux et d’inattendu ? Pourquoi ne pas construire quelque chose qui vous apprendrait réellement comment fonctionne un nouveau langage ?

Au lieu de cela, faites de votre premier programme dans un nouveau langage quelque chose de significatif. C’est le moment de tester véritablement ce qui se trouve sous le capot et de voir comment tout cela fonctionne.

L’astuce consiste à concevoir un programme qui vous permette de comprendre comment le langage traite les concepts fondamentaux, tels que l’impression de chaînes de caractères, l’acceptation des entrées d’un utilisateur, le stockage de ces entrées pour une utilisation ultérieure, la gestion d’algorithmes simples, la mise en œuvre de structures de données et la gestion des erreurs.

Cela peut prendre la forme d’un jeu qui devient plus intelligent à mesure que l’utilisateur lui fournit des données, d’un programme qui tente de diagnostiquer vos symptômes et qui devient plus précis à mesure que vous lui fournissez des symptômes, ou d’un simple blog qui offre aux utilisateurs des recommandations de lecture plus précises à mesure qu’il reçoit plus de données sur ce que l’utilisateur aime lire.

Apprenez d’abord le language ensuite les frameworks

Les programmeurs, comme les chiens, peuvent facilement se laisser distraire par le prochain objet brillant (ou écureuil) qui se présente sur leur chemin.

C’est particulièrement fréquent lorsque la raison d’être de l’apprentissage d’un nouveau langage est d’être capable d’utiliser les frameworks qui l’accompagnent. Croyez-moi, je suis tombé dans le même piège.

Les frameworks sont construits à partir des concepts de programmation des langages auxquels ils appartiennent. Si vous ne connaissez pas le langage, vous ne saurez pas vraiment comment utiliser le framework.

Par exemple, imaginons que l’on vous présente un marteau dans un pays dont vous ne parlez pas la langue. Vous n’avez jamais utilisé de marteau auparavant et vous n’avez aucune idée de ce à quoi il peut servir. Un habitant de ce pays essaie de vous expliquer comment utiliser le marteau, mais il le fait dans sa langue maternelle. Vous ne comprenez pas un seul mot de cette langue et vous n’avez donc aucune idée de la façon dont vous êtes censé utiliser le marteau. À défaut de demander à la personne d’utiliser le marteau sur vous pour que vous compreniez comment il fonctionne, la prochaine étape logique serait d’apprendre un peu de la langue pour pouvoir comprendre comment utiliser un marteau.

En d’autres termes, vous devez apprendre la langue avant de pouvoir utiliser l’outil (le cadre).

Cherchez la compréhension, pas la perfection.

Je ne comprends pas pourquoi le monde est obsédé par l’écriture d’un code parfait.

Bien sûr, écrire le code le plus propre et le plus efficace est certainement un objectif à atteindre. Cependant, je pense que c’est là que les gens tombent dans des pièges.

Le codage, à bien des égards, ressemble à l’écriture. Le problème des gens qui écrivent, c’est qu’ils sont tellement préoccupés par la perfection qu’ils ne parviennent pas à écrire beaucoup de mots ou d’idées sur la page. Le même problème peut se poser avec les personnes qui codent. Au lieu d’accepter de faire des erreurs et d’écrire un mauvais code, beaucoup de gens passent la majeure partie de leur temps à écrire le code le plus propre, le plus court et le plus efficace possible.

Bien qu’écrire le code le plus propre, le plus court et le plus efficace soit un objectif fantastique à long terme auquel tout le monde devrait aspirer, ce n’est pas quelque chose sur lequel il faut se concentrer lorsqu’on apprend un nouveau langage de programmation à la volée. Par exemple, cela n’a pas de sens de se lancer directement dans les fonctions lambda alors qu’une méthode fonctionne parfaitement bien. Il y a un temps et un lieu pour les fonctions lambda, mais pour l’instant, il faut se concentrer sur la compréhension des bases du nouveau langage.

S’efforcer d’obtenir un code parfait la première fois que vous apprenez un nouveau langage de programmation reviendrait à ressentir le besoin d’apprendre toutes les conjugaisons des verbes, les noms féminins et masculins et la structure des phrases d’une langue naturelle avant de visiter un nouveau pays. En réalité, tout ce que vous devez savoir, c’est comment dire quelques phrases simples, quelques jurons, et avoir une compréhension générale de la façon de lire la langue pour ne pas vous retrouver dans un endroit où vous ne devriez pas. Tout le monde vous comprendra, même si vous parlez la langue d’une manière détournée qui n’est pas toujours parfaite.

En d’autres termes, ne vous mettez pas la pression pour écrire un code parfait du premier coup lorsque vous apprenez un nouveau langage de programmation. Il y aura toujours un moyen plus rapide et plus court de faire quelque chose, mais cela ne doit pas être votre objectif. Au lieu de cela, concentrez-vous sur l’écriture d’un code sans bogues qui fonctionne et accomplit le travail, surtout si vous apprenez le langage dans l’urgence. Ce n’est peut-être pas très joli, mais ça fonctionnera quand même.

Conclusion

Cet article ne couvre que quelques-unes des astuces que j’ai utilisées pour apprendre un nouveau langage de programmation à la volée. Cependant, il existe plusieurs autres astuces plus conventionnelles que je pense devoir ajouter pour vous donner les meilleures chances possibles d’apprendre rapidement un nouveau langage :

Lisez la documentation. Bien que la documentation de tous les langages n’ait pas été créée égale, vous pouvez vous faire une bonne idée des rouages qui rendent le langage que vous apprenez unique.
Assurez-vous que vous apprenez la langue pour la bonne raison. Si vous apprenez le langage pour obtenir une augmentation de salaire, si votre patron a besoin que vous réalisiez un projet dans ce langage ou si vous allez utiliser ce langage régulièrement, alors félicitations, vous apprenez un nouveau langage de programmation pour les bonnes raisons !
Participez à des hackathons, des concours Kaggle et des défis de codage. Rien ne vous forcera à solidifier vos connaissances d’un nouveau langage de programmation comme une compétition.
Programmez en binôme avec quelqu’un qui connaît bien le langage. J’ai souvent constaté que l’apprentissage d’un nouveau langage se fait mieux lorsque vous travaillez avec quelqu’un qui connaît bien le langage. Le fait de s’asseoir et d’écouter le processus de réflexion de cette personne pendant qu’elle code permet de mieux comprendre comment le langage fonctionne et pourquoi elle l’utilise d’une manière spécifique.
Utilisez un style d’apprentissage qui vous convient. Si vous êtes un apprenant visuel, utilisez des organigrammes, des extraits de code, des cartes heuristiques et des vidéos pour mieux comprendre un nouveau langage. Si vous êtes un apprenant auditif, utilisez des vidéos Youtube, des cours en ligne ou des conférences MOOC. Si vous êtes un apprenant lisant/écrivant, lisez la documentation de la langue, les articles de blog, les articles de sites Web, les extraits de code et les dépôts de code GitHub. Si vous êtes un apprenant kinesthésique, suivez une vidéo et écrivez le code dans votre propre IDE, ou créez des projets basés sur le code source. N’oubliez pas que votre style d’apprentissage peut changer avec le temps. Soyez ouvert à l’apprentissage par le biais de diverses méthodes jusqu’à ce que vous trouviez celle qui vous convient le mieux.
Il n’existe aucune garantie pour apprendre rapidement un nouveau langage de programmation, si ce n’est la persévérance et la cohérence. Malheureusement, lorsqu’un nouveau langage est nécessaire dans le cadre de votre travail, une pression énorme peut être exercée pour que vous l’appreniez rapidement. Pour éviter cette pression, il est impératif dans le monde de la technologie de savoir comment vous apprenez le mieux et de jouer sur vos points forts lorsque vous apprenez quelque chose de délicat comme un nouveau langage de programmation.

L’apprentissage d’un nouveau langage de programmation est une activité enrichissante qui vous aidera non seulement dans votre carrière, mais fera aussi de vous un codeur plus complet, plus fiable et plus ingénieux à long terme.

Alex

Alex