Aller au contenu

Choisir un premier langage pour l’ingénierie moderne

Je cogite sur ce post.

Vous savez, mon principal grief contre Python, c’est son flou conceptuel. Ça n’impose aucune structure — ça hausse les épaules et ça vous dit : « fais comme tu veux ». Ça fonctionne plutôt comme un langage de script (style Perl ou PHP), sauf que ça n’a pas de manière organisée et méthodique de gérer nativement des expressions régulières complexes... ce qui, honnêtement, devrait être la toute première chose qu’un nouveau dev apprenne avant que ses habitudes ne se figent.

Il y a dix ans, avant que React ne bouffe tout, j’aurais dit : JavaScript est un excellent premier langage. Mais maintenant ? React tue tout le plaisir. Je déteste bosser sur React. Je déteste, tout simplement.

À l’inverse, Go est propre, puissant, parallèle et rapide. Et le compilateur n’a aucune patience pour vos conneries — ce que je respecte profondément. Le hic ? Go, Rust, etc., sont verbeux. Parfois inutilement.

Si je devais apprendre mon premier langage aujourd’hui, je me demanderais :

1️⃣ Est-ce que la syntaxe supporte le minimalisme — tout en me permettant de l’ignorer quand je dois concrètement faire avancer les choses ?

2️⃣ Est-ce que les conventions et les types de données m’aident à acquérir des compétences transférables d’un langage à l’autre — ou est-ce que je deviens juste une experte des tuples dans le vide ?

3️⃣ Est-ce que c’est assez polyvalent pour enseigner de vraies bases — ou est-ce que le parcours par défaut consiste à bricoler des frameworks, à prier les dieux du vent et à espérer qu’on comprenne ce qui se passe quand ça plante ?

4️⃣ Est-ce que je peux écrire et lancer du code sans installer une ville entière de runtimes, de SDK et de colle pour IDE ? Si non — on passe. (Désolée Kotlin. Désolée Flutter.)

5️⃣ Est-ce que le langage fonctionnera encore dans cinq ans, même si les mainteneurs disparaissent ? Je n’ai pas envie de ressortir Flash/Flex/ObjectiveC/F#/VB, mais ça mérite d’être répété.

6️⃣ Est-ce que le monde sait que ce langage existe ? Les plateformes expérimentales, c’est sympa, mais il n’y a pas exactement une file d’attente de recruteurs qui chassent des spécialistes Rebol.

7️⃣ Est-ce que les gens qui utilisent ce langage sont des autoritaires qui font du gatekeeping ?
En d’autres termes : leur méthode est-elle la seule possible ?

Avoir des opinions tranchées, c’est génial. Mais découvrir avec un esprit ouvert, ça l’est aussi.
Un premier langage devrait équilibrer les deux.

Alors ouais, quand on fait le calcul, le JavaScript style Node (pas de React, back-end uniquement) ou le Golang sont les points d’entrée les plus intelligents aujourd’hui.