Il a donné naissance à Kotlin, le langage qui a conquis le développement Android et séduit sept millions de développeurs dans le monde. Andrey Breslav, qui a piloté la conception du langage chez JetBrains de 2010 à 2020, revient avec une ambition d'une tout autre nature : non plus simplifier Java, mais repenser de fond en comble la relation entre les humains et la machine à l'ère des grands modèles de langage. Son nouveau projet, CodeSpeak, se présente comme un langage de programmation de nouvelle génération dans lequel le développeur n'écrit plus de code, mais des spécifications en anglais structuré. Un LLM se charge ensuite de générer, maintenir et tester le code correspondant. L'accueil sur les forumes spécialisés oscille entre fascination et scepticisme acéré.Pour comprendre CodeSpeak, il faut comprendre pourquoi Kotlin a existé. Entre 2004 et 2010, Java stagnait : Java 6 n'apportait aucune évolution syntaxique notable, les lambdas n'arriveraient qu'en 2014 avec Java 8. Les développeurs avaient besoin de fonctionnalités modernes — sécurité par rapport aux valeurs nulles, programmation fonctionnelle, syntaxe concise. Kotlin a comblé ce vide.
Breslav applique aujourd'hui la même grille d'analyse à l'ère de l'IA. Le problème n'est plus la verbosité de Java, c'est la masse de code boilerplate que les équipes doivent produire, relire et maintenir alors que les LLM sont désormais capables de le générer automatiquement. CodeSpeak n'est ni un langage formel classique ni du simple prompting : il est conçu pour les ingénieurs, pas pour les utilisateurs occasionnels, et vise à réduire le code applicatif typique d'environ dix fois. Ce qui reste constitue « l'essence du génie logiciel » — uniquement ce que l'humain sait de façon unique sur ce qui doit se passer, parce que « tout le reste, la machine le sait aussi bien ».
Le principe : la spécification comme source de vérité
Le cœur du projet repose sur un renversement conceptuel radical. Dans le workflow traditionnel, le code est la source de vérité ; la documentation et les spécifications en sont des dérivés souvent obsolètes. CodeSpeak inverse ce rapport : une spec décrit une partie logiquement autonome du système, et les fichiers source correspondants forment sa portée. On dit que ce code est géré par la spec correspondante : il sera généré, mis à jour et maintenu en fonction des modifications apportées à la spec.
Concrètement, les specs sont rédigées dans des fichiers Markdown portant l'extension .cs.md, avec une syntaxe délibérément sobre. Pour ajouter un convertisseur de fichiers .eml à la bibliothèque open source MarkItDown de Microsoft, il suffit d'écrire une quinzaine de lignes décrivant le format accepté, la structure de sortie attendue et les règles de décodage. CodeSpeak crée ensuite les fichiers nécessaires, les intègre dans les fichiers existants autorisés et génère des fichiers de tests.
Les résultats affichés sur le site sont éloquents. Sur quatre projets open source réels (le téléchargeur de vidéos yt-dlp, la bibliothèque Faker, BeautifulSoup4 et MarkItDown), le facteur de réduction entre lignes de code et lignes de spec varie de 5,9 à 9,9, avec dans tous les cas un nombre de tests qui augmente après la migration. La version 0.3.4, publiée début mars 2026, introduit la modularité : les specs peuvent désormais s'importer mutuellement, et CodeSpeak construit dans l'ordre des dépendances, les dépendances en premier, puis les specs qui les utilisent. Seules les specs modifiées sont reconstruites.
Une architecture orientée équipe, pas vibe-coding
Breslav insiste sur un positionnement qui distingue CodeSpeak de la vague actuelle des outils de « vibe coding » : la cible est celle des ingénieurs qui construisent des logiciels complexes, pas les « vibe-coders » ni les solopreneurs. La communication au sein d'une équipe est explicitement identifiée comme un enjeu central.
L'outil se déploie en mode « mixte » (mixed mode), ce qui signifie qu'il peut coexister avec une base de code existante. Seuls les fichiers explicitement déclarés dans codespeak.json sont gérés par l'outil ; les autres fichiers du projet restent intouchés à moins d'être inscrits sur une...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
