Rue : un langage développé par un développeur et... Claude

Par:
francoistonic

mar, 06/01/2026 - 12:11

Le 21 décembre dernier, Steve Klabnik annonce un nouveau langage de programmation : Rue. Si Steve l'a imaginé, son développement est réalisé avec l'aide de... Claude. Steve cherchait à créer son propre langage depuis plusieurs années. Il suit des cours sur les compilateurs. Il trouve d'abord un poste de développeur web puis travaille sur des projets Rust. Mais il reste loin du monde des compilateurs. Puis en 2025, il a l'idée de créer un langage complet. Si au départ, il s'agit d'un passe-temps. Avec l'aide de Claude, Rue prend forme. Il s'appuie sur Rust et s'inspire aussi de Zig.

En quelques jours, Rue commence à prendre vie. Claude génère rapidement plusieurs centaines de lignes de codes en Rust pour concevoir un Hello World. Steve et Claude se lancent dans la conception du compilateur de Rue. Construire un compilateur n'est pas la chose la plus simple à faire. Il faut être méthodique, concevoir l'arbre syntaxique capable de comprendre les fichiers .rue, créer le parser, faire l'analyse sémantique, puis générer l'exécutable...

En quelques heures, Steve et Claude implémentent les opérateurs, les variables locales, les booléens, if/else, les opérateurs logiques. Le 3e jour, il faut fixer une architecture d'exécution : Linux x86-64 (puis sur macOS). Puis il faut travailler sur les formats de fichiers. Le 1er commit sur l'abstraction architecturale est fait le 18 décembre. Le runtime aarch64 est supporté. La génération aarch64 est complétée le 19 décembre. Plus de 650 tests sont effectués sur Linux et macOS.

En parallèle au compilateur, Steve et Claude travaillent à concevoir (réellement) le langage. Rue est un langage construit de 0. Les premières fonctionnalités imaginées sont : les integers, les booléens, les strings, les enums, les différents opérateurs, etc. Puis, ils définissent l'infrastructure du compilateur (les pipelines, support x86-64 et aarch64), les premiers warnings, vérifier les overflows sur les opérateurs. Et enfin, commencer à rédiger la documentation, mettre en place une CI. 

A ce moment-là, Rue pèse 34 000 lignes Rust et 13 crates. 

Début janvier, le travail continue. Pour le moment, Rue ne peut se compiler lui-même. Après 2 semaines de travail, Rue contient 100 000 lignes Rust et 18 crates. Deux objectifs ambitieux sont menés de front : la compilatation parallèle et le support multi-fichiers (rue main.rue utils.rue math.rue -o program). Et les spécifications de Rue représentent déjà 5 500 lignes.

Pour installer Rue, il faut dotslash pour faire bootstrap Buck2 et la toolchain Rust et clang (utilisé comme linker).

Pour suivre l'aventure : https://rue-lang.dev/blog/

Site Rue : https://rue-lang.dev/