ChatGPT vs Google Bard : quel chatbot IA est le meilleur en matière de codage ?
Les capacités des chatbots IA se développent rapidement. Mais sont-ils encore capables de coder, et lequel est le meilleur dans ce domaine ?
Lorsque Google a lancé Bard, sa réponse au ChatGPT d'OpenAI, il lui manquait une fonctionnalité très appréciée des utilisateurs de ChatGPT : la possibilité d'écrire du code. Cependant, à la demande générale, Google a donné un coup de pouce à Bard, lui permettant d'écrire du code dans des dizaines de langages de programmation.
Google a depuis expliqué à quel point Bard pouvait écrire et déboguer du code, mais comment se compare-t-il au phénoménal ChatGPT ? Découvrons-le.
ChatGPT vs Bard : prise en charge linguistique
Officiellement, Bard de Google peut fonctionner avec une vingtaine de langages de programmation. Il s'agit principalement de logiciels populaires tels que Typescript, Python, C++, Go, Java, JavaScript et PHP. Il peut toujours gérer des options moins populaires comme Perl et Scala, mais n'est pas nécessairement aussi efficace.
ChatGPT, en revanche, n'a pas de liste officielle des langues prises en charge. Le chatbot peut gérer la plupart de ce que Bard peut gérer et des dizaines d'autres. ChatGPT peut écrire, déboguer et expliquer du code dans des langages de programmation plus récents et populaires et dans des langages hérités moins populaires comme Fortran, Pascal, BASIC et COBOL.
Cependant, accompagnement ne signifie pas nécessairement compétence. Nous avons essayé quelques tâches simples dans certains langages tels que PHP, JavaScript, BASIC et C++. Bard et ChatGPT étaient tous deux capables de proposer des langages de programmation populaires, mais seul ChatGPT était capable d'enchaîner de manière convaincante des programmes dans des langages plus anciens. Donc, en termes de prise en charge linguistique, nous donnons la victoire à ChatGPT.
ChatGPT vs Bard : précision et qualité du code
Disons que vous demandez à ChatGPT ou Bard de générer un morceau de code qui fait quelque chose, et qu'il crache des dizaines de lignes de code en quelques secondes. Facile, non ? Mais à quelle fréquence ce code fonctionnera-t-il ? Disons que le code fonctionne ; quelle est la qualité de ce code ?
Pour comparer la précision et la qualité du code généré par les deux chatbots IA, nous leur avons confié à tous deux quelques tâches de codage à accomplir. Nous avons demandé à Bard et ChatGPT de générer une application simple de liste de tâches en utilisant HTML, CSS et JavaScript. Après avoir copié-collé et visualisé le code généré dans un navigateur, l'application de ChatGPT ressemblait à ceci :
En utilisant la version de ChatGPT, vous pouvez ajouter une nouvelle tâche, supprimer une tâche ou marquer une tâche comme terminée. Bard de Google a également pu générer une application de liste de tâches fonctionnelle. Cependant, vous pouvez uniquement ajouter une tâche, sans aucun moyen de la supprimer ou de la marquer comme terminée. L'interface de Bard semblait également moins attrayante ; voici à quoi cela ressemblait :
Nous avons répété le test, en demandant cette fois aux deux chatbots de recréer les cartes de chronologie Twitter. Voici le résultat de ChatGPT :
Et voici ce que Bard de Google a produit :
Les deux résultats ont leurs avantages et leurs inconvénients. Nous aurions opté pour les résultats de Bard s'il y avait des boutons J'aime, Retweet et Commentaire. Cependant, curieusement, ils ont été laissés de côté, nous vous laissons donc décider lequel est le meilleur. Bien entendu, la qualité du code ne dépend pas seulement de l’esthétique de ce qu’il produit.
Lors de l'analyse du code généré par les deux chatbots, celui de Bard semblait être plus orienté objet tandis que celui de ChatGPT était plus procédural. Notre choix de langage de programmation pourrait influencer cela, mais ChatGPT semblait écrire un code plus propre lorsque cela était nécessaire. Il tend également à générer des solutions plus complètes, conduisant généralement à davantage de lignes de code.
En termes de qualité du code généré, nous attribuons ce tour à ChatGPT.
ChatGPT vs Bard : débogage et détection d'erreurs
Les erreurs et les bugs sont comme des énigmes que les programmeurs adorent détester. Ils vous rendront fou, mais les réparer est très satisfaisant. Alors, lorsque vous rencontrez des bugs dans votre code, devriez-vous faire appel à Bard ou ChatGPT pour obtenir de l'aide ? Pour décider, nous avons donné aux deux chatbots IA deux problèmes de débogage à résoudre.
Tout d’abord, nous avons demandé aux deux chatbots de résoudre une erreur logique dans un code PHP. Les erreurs logiques sont notoirement plus difficiles à repérer car le code qui les contient ne semble pas erroné, il ne fait tout simplement pas ce que le programmeur voulait.
Le code de cette capture d'écran s'exécute, mais il ne fonctionne pas. Pouvez-vous repérer l’erreur logique ? Nous avons demandé de l'aide à Bard de Google et malheureusement, le chatbot n'a pas pu détecter l'erreur logique dans le code. Il est intéressant de noter que Bard de Google propose généralement trois projets de tentatives pour résoudre un problème. Nous avons vérifié les trois projets et ils étaient tous faux.
Nous avons ensuite demandé de l'aide à ChatGPT, et il a immédiatement détecté l'erreur logique.
Le script PHP ne contenait aucune erreur de syntaxe, mais la logique de la fonction isOdd() était inversée. Pour voir si un nombre est impair, vous devez généralement vérifier s'il a un reste après la division par 2. Si c'est le cas, c'est un nombre impair.
Alors que Bard était loin d'identifier ce bug, ChatGPT l'a détecté dès la première tentative. Nous avons essayé quatre autres erreurs logiques et Bard n'a pu détecter l'erreur que dans un seul cas tandis que ChatGPT livrait systématiquement. Après être passé au code comportant des erreurs de syntaxe, Bard de Google a pu suivre le rythme, les identifiant dans presque tous les échantillons présentés.
Bard de Google est relativement bon en débogage, mais nous donnerons encore une fois cette victoire à ChatGPT.
ChatGPT vs Bard : conscience du contexte
L’un des plus grands défis liés à l’utilisation des chatbots IA pour le codage est leur connaissance du contexte relativement limitée. Vous demandez au chatbot d'écrire du code, puis encore plus... en cours de route, il oublie complètement que la prochaine chose qu'il construit fait partie du même projet.
Par exemple, disons que vous créez une application Web avec un chatbot IA. Vous lui dites d’écrire du code pour votre page HTML d’inscription et de connexion, et il le fait parfaitement. Et puis, au fur et à mesure que vous continuez à construire, vous demandez au chatbot de générer un script côté serveur pour gérer la logique de connexion. Il s'agit d'une tâche simple, mais en raison d'une connaissance limitée du contexte, elle pourrait finir par générer un script de connexion avec de nouvelles variables et des conventions de dénomination qui ne correspondent pas au reste du code.
Alors, quel chatbot est le meilleur pour conserver la connaissance du contexte ? Nous avons confié aux deux outils la même tâche de programmation : une application de chat que ChatGPT peut déjà créer.
Malheureusement, Bard n'a tout simplement pas pu terminer l'application car il a perdu la trace du contexte du projet après être resté inactif pendant un certain temps. Bien qu'il soit soumis aux mêmes conditions, ChatGPT a complété l'application. Encore une fois, en termes de connaissance du contexte, nous le donnons à ChatGPT.
ChatGPT vs Bard : résolution de problèmes
À ce stade, Bard de Google manque à bien des égards. Mais peut-il enfin remporter une victoire ? Testons ses capacités à résoudre des problèmes. Parfois, vous avez simplement un problème, mais vous ne savez pas comment le représenter par programmation, et encore moins comment le résoudre.
C’est dans des situations comme celle-ci que les chatbots IA comme Bard et ChatGPT peuvent s’avérer très utiles. Mais quel chatbot a de meilleures capacités de résolution de problèmes ? Nous leur avons demandé à tous les deux "d'écrire un code JavaScript qui compte le nombre de fois qu'un mot particulier apparaît dans un texte."
Bard a répondu avec un code fonctionnel, bien qu'il échoue lorsque les signes de ponctuation sont proches d'un mot ou que le mot apparaît dans des cas différents.
Nous avons posé le même problème sur ChatGPT et voici le résultat :
Le code de ChatGPT adopte une approche plus robuste et plus précise pour compter les occurrences de mots dans un texte. Il prend en compte les limites des mots et la sensibilité à la casse, gère correctement la ponctuation et donne des résultats plus fiables. Encore une fois, en termes de résolution de problèmes, nous la confions à ChatGPT.
Étant donné que Google Bard a pratiquement perdu dans toutes les mesures que nous avons utilisées à des fins de comparaison, nous avons décidé de lui donner une chance de se racheter. Nous avons demandé au chatbot : Quel est le meilleur en matière de codage ? ChatGPT ou Google Bard ? »
Tout en reconnaissant que ChatGPT était plus créatif, Bard a déclaré que son concurrent était plus susceptible de commettre des erreurs et que ChatGPT produisait un code moins efficace, mal structuré et généralement moins fiable. Nous devons être en désaccord !
ChatGPT est dans une ligue à part
Bard de Google a bénéficié de beaucoup de battage médiatique, il peut donc être surprenant de voir à quel point il manque par rapport à ChatGPT. Même si ChatGPT avait clairement une longueur d'avance, on pourrait penser que les ressources massives de Google l'aideraient à éroder cet avantage.
Malgré ces résultats, il serait imprudent de considérer Bard comme une aide à la programmation. Bien qu'il ne soit pas aussi puissant que ChatGPT, Bard a toujours un impact important et évolue à un rythme rapide. Compte tenu des ressources de Google, l'émergence de Bard comme un digne rival n'est sûrement qu'une question de temps.