Radar · 12/07/2026 · survenu le 11/07/2026 · coding

Terry Tao ressuscite 25 ans d'applets avec des coding agents modernes

Terry Tao, mathématicien médaillé Fields, a utilisé des coding agents modernes pour porter une vingtaine d’applets pédagogiques écrits en Java 1.0 en 1999 vers du Javascript fonctionnel en 2026. Les applets (pour visualiser des objets comme des honeycomb ou des ensembles de Besicovitch) étaient devenus inutilisables quand les navigateurs ont cessé de supporter cette version de Java. En quelques heures l’agent a complété la migration, avec même des améliorations graphiques (l’applet de Besicovitch est maintenant en couleur, l’original était monochrome).

Tao a trouvé un seul bug mineur dans le code généré (gestion d’un événement drag), tandis que l’agent en a identifiés deux dans le code original que Tao n’avait jamais remarqués. Après ce succès, il a demandé à l’agent de construire de zéro un visualiseur pour la relativité restreinte qu’en 1999 il avait dû abandonner faute de complexité. Après quelques heures de conversation, l’app qu’il avait en tête il y a 27 ans existe maintenant et fonctionne. Le même jour il a ajouté un visualiseur pour la conjecture de Gilbreath, en accompagnement d’un paper fraîchement publié.

Pourquoi cela te concerne. Tao n’est pas un marketer : c’est un mathématicien qui travaille sur des problèmes difficiles et vient de démontrer que les agents de coding fonctionnent sur du code réel, ancien et nouveau. Son observation la plus intéressante : puisque ces visualiseurs sont des outils secondaires et non des composants critiques, le risque de bugs générés par l’IA est acceptable. C’est une distinction qui vaut pour beaucoup de cas d’usage : où l’erreur n’est pas catastrophique, la vitesse et la récupération de projets abandonnés battent la perfection.

En détail

Le contexte : applets abandonnés et projets trop complexes

Tao a commencé à écrire des applets Java pour ses cours d’analyse complexe et d’algèbre linéaire en 1999, quand enseigner les mathématiques sur le web signifiait programmer à la main chaque visualisation. Les applets fonctionnaient, mais demandaient du temps et la maintenance devenait coûteuse. Quand les navigateurs ont cessé de supporter Java 1.0, ce code est devenu de l’archéologie numérique.

Entre-temps, il avait aussi commencé à écrire un éditeur géométrique pour la relativité restreinte — essentiellement Inkscape mais dans l’espace de Minkowski — et s’était arrêté à mi-chemin parce que la complexité du code était devenue ingérable pour une seule personne.

Ce que l’agent a fait

Tao a demandé à un coding agent de porter l’ancien code Java vers du Javascript moderne. L’agent a complété la migration d’environ deux douzaines d’applets en quelques heures, en maintenant la fonctionnalité originale et en ajoutant quelques améliorations graphiques (par exemple, la colorisation de l’applet de Besicovitch, que l’original n’avait pas). Tao a trouvé un seul bug dans la gestion des événements drag dans l’un des applets d’analyse complexe. L’agent, en revanche, en a trouvés deux dans le code original que Tao n’avait jamais remarqués.

Subséquemment, Tao a demandé à l’agent de construire de zéro l’éditeur pour la relativité restreinte qu’il avait abandonné. Après environ deux heures de conversation (une transcription réduite est publiée sur son blog), l’app fonctionne et correspond à la vision qu’il avait en 1999. Le même jour, il a ajouté un visualiseur pour la conjecture de Gilbreath, en tant que supplément interactif à un paper fraîchement paru.

Le bilan de qualité

Tao écrit : « Notoirement, les agents basés sur LLM peuvent créer divers bugs évidents ou subtils ; mais en portant ces deux douzaines d’applets, j’ai trouvé un seul bug mineur, et en fait l’agent a identifié deux bugs dans le code original dont je n’était pas au courant, donc au final c’était égalité en ce qui concerne la qualité du code. »

L’observation clé est celle-ci : puisque ces applets sont des aides visuelles secondaires, non des composants critiques d’un argument mathématique, le risque à la baisse de tels bugs est relativement faible. Il ne dit pas que le code généré est parfait, il dit que le trade-off entre vitesse et risque, dans ce contexte, penche vers l’action.

Ce qui change pour ceux qui écrivent du code avec les agents

Tao est un observateur crédible : il ne vend rien, ne promeut aucun outil, raconte ce qui a fonctionné sur un problème réel. Son expérience confirme ce que nous racontions le 5 juillet avec la réécriture de sqlite-utils : les agents modernes ferment des projets qu’une seule personne avait dû laisser inachevés faute de complexité.

Mais il introduit aussi une distinction utile : pas tout code n’a la même sensibilité au risque. Un visualiseur pédagogique qui sert à comprendre un concept, et où un bug est visible à l’œil nu, n’est pas la même chose qu’un système de paiements ou qu’un pipeline données critique. Où l’erreur est reconnaissable et le dommage est contenu, la vitesse des agents devient utilisable. Où l’erreur silencieuse peut se propager, il faut toujours les contrôles stricts que nous avons expliqués dans les leçons du cours.

Les limites

Tao lui-même déclare qu’il s’agit d’une version alpha et invite à signaler les bugs. La nature générée par LLM du code n’est pas cachée, elle est déclarée. L’applet pour la relativité restreinte a été playtesté, mais pas de manière exhaustive. La transparence sur le niveau de confiance fait partie de la méthode.

Tapez pour chercher dans cours, playbooks, skills, papers…