Introduction

JSSE, ou JavaScript Simple Engine, est un moteur JavaScript construit à partir de zéro en utilisant le langage Rust. Ce qui est remarquable, c'est qu'il a été créé avec l'aide d'un agent de codage, sans que son concepteur n'écrive pas une seule ligne de code Rust.

Contexte Technique

Le processus de création de JSSE a commencé par une conversation dans une salle de chat sur la programmation assistée par des agents et les navigateurs. L'idée était de créer un moteur JavaScript à partir de zéro pour le intégrer dans un navigateur également construit à partir de zéro. Le projet a utilisé l'agent de codage Claude Code, fonctionnant en mode YOLO, qui a généré le code Rust sans intervention humaine directe.

Le cœur du projet reposait sur un fichier PLAN.md, qui était une liste de tâches générée à partir de la spécification ECMAScript et des sous-modules de test262. Les prompts utilisés pour guider l'agent étaient simples, demandant essentiellement de lire la première tâche non terminée, de la planifier et de l'implémenter, de la marquer comme complète, de la committer et de la pousser.

Analyse et Implications

JSSE est devenu le premier moteur JavaScript à passer 100% des tests non-staging de test262, avec 98 426 scénarios à travers différents aspects du langage. Cela représente un exploit notable dans le domaine de la programmation assistée par des agents et soulève des questions sur les limites de ce qu'un agent peut accomplir sans intervention humaine directe.

Les implications de ce projet sont multiples. D'une part, il démontre le potentiel des agents de codage pour accélérer le développement de logiciels complexes. D'autre part, il soulève des questions sur la sécurité, la fiabilité et la maintenabilité du code généré de cette manière.

Perspective

À l'avenir, il sera intéressant de suivre l'évolution de JSSE et de voir comment les agents de codage pourront être utilisés pour améliorer ou étendre d'autres projets logiciels. Les limites actuelles de la technologie, telles que la capacité de l'agent à gérer des tâches complexes sans blocage, seront probablement abordées dans les prochaines étapes du développement.

Enfin, le projet JSSE ouvre des perspectives sur la collaboration homme-machine dans le développement logiciel, où les agents pourraient prendre en charge des tâches répétitives ou fastidieuses, libérant ainsi les développeurs pour se concentrer sur des aspects plus créatifs et stratégiques du processus de développement.