Pourquoi apprendre un nouveau langage de programmation ?
En octobre dernier, après qu’un collègue ait commencé à lire beaucoup de livres techniques, je me suis motivé pour commencer The Pragmatic Programmer et suis tombé sur ces lignes :
Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getter stuck in a rut. […]
En école d’ingénieur, j’avais fait essentiellement du C (j’ai tout oublié), beaucoup de Java, du C++ et du C#. C’est avec ce dernier que je développe exclusivement depuis 5 ans puisque je travaille au quotidien avec le moteur de jeu Unity. Ces mots m’ont donc remotivé à apprendre un nouveau langage, pour voir autre chose.
J’ai essayé de reprendre C++ avec l’excellent site learn cpp en décembre 2024 mais plusieurs éléments m’ont fait lâcher au bout de quelque temps (manque de motivation, manque de projets à faire avec, etc) alors que j’avais trouvé cela très intéressant.
Quel langage choisir ?#
La question était donc quel langage choisir ? Beaucoup de langages m’ont rebuté car ils possédent une syntaxe et des conventions de nommage différentes de celles des “langages dérivés du C” comme C++, C#, Java,…
Cependant, je voulais me “forcer” à choisir un de ces langages différents pour m’entrainer à être plus flexible, sortir de ma zone de confort, et étayer ma stack technique.
Je cherchais donc un langage aux propriétés différentes de C#. Les langages peuvent se différencier sur plusieurs aspects :
- leur syntaxe,
- leur gestion de la mémoire,
- leur ecosystème et domaines de prédilection,
- leurs paradigmes (orienté objet, fonctionnel, mixte)
- leur maturité
- compilé ou interprété
Deux langages me permettent actuellement de faire ce chemin : Rust et Python. Pour ne pas rendre ce article indigeste, je vais consacrer une série d’articles sur ces deux langages, en essayant de mettre en avant leurs spécificités et ce qu’ils peuvent nous apporter.
- A la découverte de Rust
- A la découverte de Python (en cours d’écriture)
- Comment apprendre un nouveau langage de programmation (en cours d’écriture)