Quel langage de programmation choisir ?

Des langages, j'en ai essayé. De PHP, à Scala en passant par Ruby, Java ou encore Python, j'ai pas arrêté de chercher « le bon langage ». Et puis, je crois qu'après toutes ces années (han, ça fait 17 ans en fait …), j'ai enfin trouvé le bon. Jusqu'au prochain.

De PHP à Scala

Même si j'en ai pratiqué beaucoup, j'ai fait la majeure partie de ma « carrière professionnelle » grâce à PHP. Et puis, lorsque PHP s'est transformé en un JAVA bis, je suis parti à la recherche d'un nouveau langage. La programmation fonctionnelle revenait à la mode, et mon choix s'est porté sur Scala : la programmation fonctionnelle allait tout résoudre et Scala serait THE langage. Ou pas.

Plus je faisais de Scala, moins je prenais de plaisir à en faire. Et pourtant, ça semblait résoudre beaucoup de mes soucis de développeur : mon code était plus propre, plus testable et plus facilement refactorisable. En plus, j'étais hype. Mais il y a quelque chose qui clochait. J'ai mis du temps à m'en apercevoir, mais c'était pourtant là sous mon nez : je ne résolvais pas le bon problème.

Pourquoi code-t-on ?

Une majeure partie d'entre nous s'est mis à aimer le code pour une raison : se rendre utile. Le bonheur de faire un programme de ses petites mains et de le voir fonctionner pour la première fois a un côté presque jouissif. Coder est une façon d'être concrètement utile à des gens. Que ce soit en offrant des moments de détente, d'information ou en proposant quelque chose de nouveau, le fait de savoir coder fait de nous des acteurs essentiels du monde de demain.

Finalement je me suis rendu compte que les langages que j'appréciais le plus, avaient toujours été les langages qui me permettaient de d'abord résoudre les problèmes des autres. Par rapport au temps passé et comparé à PHP, j'arrivais à faire beaucoup moins de choses avec Scala. J'ai cru que ce n'était qu'une question de courbe d'apprentissage mais non : après plus d'un an, Scala ne me permettait pas de résoudre rapidement et itérativement les problèmes des autres.

Le critère de choix

J'ai donc récemment adopté une nouvelle approche quant au choix d'un langage de programmation : en quoi va-t-il me permettre (ou pas) de résoudre les problèmes des autres ? Si changer de langage ne me permet pas de répondre clairement à cette question, je ne change pas.

Je ne dis pas que je n'essaie plus d'autres langages, au contraire. J'ai jamais autant appris ces derniers temps qu'en faisant de la programmation fonctionnelle avec Scala notamment. Mais Scala n'était pas la bonne approche pour moi. Ça m'a en revanche permis de beaucoup améliorer la qualité de mon code « procédural » en le rendant plus « fonctionnel ».

Étant principalement passionné de développement web, mais étant aussi chercheur à l'Université (et donc amateur de prototypes jetables), il me fallait quelque chose qui puisse allier les deux mondes. Mon choix s'est porté sur Python et le résultat ne s'est pas fait attendre : j'ai repris plaisir à résoudre des problèmes grâce à des lignes de code.

Pour moi, le seul et unique critère pour choisir un langage de développement devrait donc être : prend-on plaisir à résoudre des problèmes avec ? Si la réponse est oui, ne cherchez pas plus loin.

Share this Post: