Introduction

Le monde du logiciel est régi par de nombreuses règles et lois. L'une des plus drôles est la loi de Kernighan, qui stipule que le débogage est deux fois plus difficile que l'écriture du code en premier lieu. Cela signifie que si vous écrivez le code de manière trop intelligente, vous n'êtes pas suffisamment intelligent pour le déboguer.

Contexte Technique

Les benchmarks pour les ingénieurs logiciels sont actuellement SWEBench pour la programmation et TerminalBench pour les tâches informatiques. Cependant, ces benchmarks sont principalement axés sur le langage Python. Il existe également AutoCodeBench, qui teste différents modèles et langages de programmation. Les résultats montrent que les modèles ont du mal avec Python et JavaScript, tandis que les langages tels que C#, Racket, Kotlin et Elixir obtiennent de meilleurs résultats.

Analyse et Implications

Ces résultats suggèrent que la conception du langage et la structure du code sont plus importantes que la quantité de données d'entraînement. Les paradigmes fonctionnels tels que Elixir semblent bien performer, même avec moins de données d'entraînement. Cela a des implications importantes pour l'avenir de la programmation et la façon dont nous concevons les langages de programmation.

Perspective

La réflexion de Grace Hopper sur la compilation et la traduction directe de l'anglais en code machine est plus pertinente que jamais. Les machines sont de meilleures programmeuses que les humains et leur supériorité va continuer à croître. Cependant, les humains sont meilleurs pour spécifier les exigences, vérifier les résultats et garantir l'accountabilité. Les langages de programmation devraient être conçus pour faciliter la vérification et la compréhension humaines, plutôt que de se concentrer uniquement sur la création de code.