zo iNiTiATiON SPEECHES
S01E53 2024-09-19

S01E53 — 19-09-2024.

De l’entrainement à la concrétisation.

jour 53.

Je sais que je suis en train de me répéter, si ça te soule, tu peux zapper cet épisode. Ça me rappelle surtout le travail colossal derrière l’envie de créer un langage de programmation. De la signification de langage jouet à la création de documentation et d’un site de présentation. C’est pourquoi, je t’encourage vivement à ne passer que 2-3 mois max de ton temps sur ton langage. Après cette date, tu le sors. Cette petite victoire va te permettre de rester motivé et aussi de rester motivé.

Une chose dont je ne me souviens pas avoir parlé est : combien de compilateur as-tu déjà écrit ? Que ce soit pour un langage existant ou pour tes langages cela va jouer un rôle important. Par exemple, je ne me serai jamais lancé dans cette quête, si je n’avais pas à mon actif plusieurs écritures de compilateurs. Chacun d’entre eux, ont été des exercices qui m’ont permis de mieux comprendre la stack d’un compilateur, mais aussi d’affiner mon implémentation, trouver mon style, décomplexifier la syntaxe de mes langages pour faciliter l’analyse syntaxique. C’est pourquoi, je partirai sur l’écriture d’une dizaine de compilateurs avant de te lancer. Après si t’es vraiment chaud, vasy, garde en mémoire la règle des deux-trois mois de taf.

Le développement d’un langage de programmation est différent de celui d’un jeu vidéo, là où le jeu doit être fini une fois sorti. Un langage c’est différent, il s’agit d’une amélioration en continue. Donc le sortir ne veut pas dire, ne plus y toucher — Bien au contraire.

« Un langage de programmation ce n’est pas un sprint, mais une course de fond. »

J’arrive bientôt à deux mois de développement que je suis déjà dans la préparation d’une première version. Ce qui me fait penser que tu dois prendre en compte l’installation. Étant donné, qu’il y a plusieurs plateformes à supporter (Linux, MacOS et Windows), il te faudra écrire un script permettant une installation facile. Go ou Rust peuvent être un bon choix pour créer un fichier binaire pour chaque platforme. Pour ma part, je partirai sur du Rust, c’est un langage que je connais, près libre à toi de faire cela avec le langage de ton choix en t’assurant que ce langage te fournisse de quoi cibler les trois plateformes.

@invisageable