Burak Karakan est cofondateur de Bruin, un outil ETL CLI open source écrit en Go. Ayant travaillé professionnellement avec PHP, Go, JavaScript et Python pendant plus de dix ans, il a choisi Go pour Bruin notamment parce qu'il y prenait du plaisir. Ce choix, fait avant l'ère des agents IA, s'est révélé être une bonne intuition. Les agents génèrent d'énormes quantités de code qui semble correct, mais dont la validité réelle est difficile à garantir. Burak Karakan rapporte qu'utiliser un langage compilé à typage statique comme Go permet aux agents d'itérer jusqu'à obtenir du code exempt d'une certaine catégorie de bogues avant même l'exécution. Go (également appelé Golang) est un langage de programmation open source, statiquement typé et compilé, conçu chez Google par Robert Griesemer, Rob Pike et Ken Thompson. Le langage a été créé pour répondre aux défis actuels du développement logiciel, tels que les bases de code volumineuses, les temps de compilation lents, ainsi que le besoin d'une concurrence efficace à l'ère des processeurs (CPU) multicœurs et des systèmes en réseau.
Alors que nous sommes à l'aube de la transformation du développement logiciel par les agents IA, la communauté se pose la question de savoir quel est le meilleur pour cette révolution. Selon certains développeurs, comme Burak Karakan, Go se distingue particulièrement pour dominer l'ère des agents IA.
Un agent est un système autonome capable de raisonner, de planifier et d'exécuter des tâches avec une intervention humaine minimale. Son fonctionnement repose sur une boucle décisionnelle (raisonnement → action → observation) répétée jusqu’à atteindre l’objectif ou une limite de ressources. Cette architecture permet notamment aux agents de décomposer un problème en étapes successives et d’ajuster leur stratégie en fonction des résultats obtenus.
Le classement de février 2025 de l'index mensuel de popularité des langages de programmation TIOBE a révélé que les langages de programmation rapides sont de plus en plus populaires. L'index TIOBE a révélé que les langages rapides tels que C++, Go et Rust gagnent du terrain grâce à l'IA et le traitement de données. Ces langages sont essentiels pour les tâches à forte intensité de données, l'IA et les besoins de performance étant à l'origine de cette évolution.
Pourquoi le langage Go est-il adapté aux systèmes d’agents IA ?
L’auteur soutient que le langage Go possède des propriétés particulièrement adaptées au développement d’agents IA. Face à Rust, Burak Karakan donne l'avantage à Go pour quatre raisons : la syntaxe de Go est plus simple ; son système de types moins sophistiqué favorise un style idiomatique partagé ; sa compilation est plus rapide, ce qui accélère la boucle de feedback ; et il existe davantage de code Go dans les données d'entraînement des modèles.
Un agent IA n’est pas qu'une simple fonction qui transforme une entrée en sortie. Il s’agit plutôt d’une entité persistante disposant d’un objectif, d’une mémoire et de la capacité d’exécuter des actions dans le temps. Pour Burak Karakan, Go est bien adapté à ce cas d'utilisation. Voici les caractéristiques qu'il cite :
Go est un langage compilé
Go est un langage à typage statique et fort, ce qui signifie que les erreurs de types ou d'arguments sont détectées avant l'exécution. Pour les agents IA qui produisent de grandes quantités de code, Burak Karakan a déclaré qu'il s'agit d'un filet de sécurité précieux : le code qui compile est garanti d'être syntaxiquement correct selon les standards du langage, un choix qui élimine une catégorie entière de bogues avant même que le programme ne tourne.
Go est simple
Go est conçu pour être immédiatement lisible par quiconque a une expérience dans un autre langage de programmation. Le développeur de logiciels affirme que cette simplicité est doublement utile dans le contexte actuel des agents IA : d'un côté, l'agent génère du code prévisible et compréhensible ; de l'autre, le développeur humain peut rapidement détecter quand l'agent part dans une mauvaise direction ou prend des décisions de conception étranges.
Go a une façon de faire les choses
Go impose une manière standard de formater le code, d'écrire les tests, de gérer les erreurs et de compiler les binaires. Contrairement à JavaScript où chaque projet impose ses propres outils et conventions, un projet Go ressemble à tous les autres projets Go. Les agents bénéficient directement de cette uniformité : ils savent exactement quelle commande lancer pour chaque tâche, sans avoir à s'adapter à des configurations spécifiques à chaque projet.
Go compile rapidement
Burak Karakan soutient que Go compile nettement plus vite que Rust, ce qui crée une boucle de feedback plus rapide pour les agents IA. Quand un agent génère du code, le teste, détecte une erreur et corrige, la vitesse de compilation détermine directement la vitesse d'itération. Un cycle court signifie plus d'itérations par unité de temps, et donc un résultat final obtenu...
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.