Utilisation de ChatGPT pour programmer en Python, C et Java

ChatGPT est terriblement doué pour écrire du code.

Tout le monde en a entendu parler ChatGPT à ce stade. Il s'agit d'un chatbot alimenté par l'IA qui utilise des modèles de traitement du langage naturel pour produire des réponses à des questions compliquées. Ces réponses ne sont pas nécessairement toujours exactes, mais elles ont tendance à être suffisamment détaillées pour que vous puissiez vérifier les réponses qu'elles vous donnent assez facilement. Et si vous preniez ChatGPT et essayiez d'écrire du code avec ?

Il s'avère que c'est quelque chose que vous pouvez faire avec plus ou moins de succès, selon les langues que vous souhaitez utiliser et ce que vous souhaitez réaliser avec elles. Je l'ai mis à l'épreuve pour voir dans quelle mesure il fonctionnerait dans différents langages de programmation pour accomplir différentes tâches. Je n'apporterai pas non plus de modifications au code produit par ChatGPT, je ne le guiderai pour créer un code fonctionnel que si le code qu'il crée ne fonctionne pas.

J'ai utilisé trois langages que je connais déjà pour tester ChatGPT: Python, C et Java. Les résultats ont été particulièrement surprenants car il a eu un peu de mal avec Python en raison de la nature abstraite de ce que je lui demandais de faire, mais il a géré C et Java de base avec facilité. J'ai aussi créé un référentiel GitHub avec tout le code ici accessible afin que vous puissiez l'essayer vous-même.

Vérification automatique des pages en Python

Python est mon langage de programmation préféré, et c'est grâce à sa puissance et à sa simplicité d'utilisation. J'ai écrit de nombreux outils en Python dans le passé pour automatiser certaines parties de mon flux de travail, et ma thèse de licence en informatique a même été entièrement réalisée via Python. J'ai demandé à ChatGPT d'écrire un programme capable d'analyser une page Web à la recherche de modifications périodiques, et cela a généralement fonctionné.

Le problème avec le code ci-dessus qu'il me donne est qu'il ne simule pas un vrai navigateur. Les sites Web recherchent un paramètre dans votre navigateur appelé "agent utilisateur", qui définit le type de navigateur que vous utilisez ou si vous êtes un bot. De nombreux sites Web n'acceptent pas les connexions qui ne définissent pas un agent utilisateur, et j'ai rencontré cela lorsque je l'ai pointé sur XDA. Je lui ai demandé d'ajouter des en-têtes personnalisés à la demande pour simuler un vrai navigateur, et il s'est conformé.

Le code ci-dessus fonctionne pour les sites Web statiques, mais le problème est qu'une grande partie du contenu que vous lisez en ligne est dynamique. Si une page renvoie l'heure actuelle, par exemple quelque part sur la page, le code ci-dessus indiquera toujours que la page a changé à chaque actualisation. Lorsque j'ai signalé cela à ChatGPT, cela s'est embrouillé et m'a donné une solution totalement incorrecte au problème.

Ce qui précède est une explication incorrecte du fonctionnement des hachages. L'intérêt d'un hachage est qu'une modification mineure de l'entrée entraînera une différence majeure dans le hachage, en ce sens que deux hachages sont fondamentalement incomparables. Quand je lui ai dit que c'était une affirmation incorrecte de suggérer que les hachages étaient le meilleur moyen de comparer et de rechercher des changements, il a répondu par des excuses et m'a donné quelque chose qui a fait travail.

Le seul problème que j'ai découvert avec le code ci-dessus est que pour les sites Web plus importants, c'est coûteux en calcul car il utilise le traitement du langage naturel pour comparer et calculer la différence entre eux. Néanmoins, un seuil de 5 % de contenu modifié est suffisant pour la plupart des sites Web si vous cherchez à vérifier les mises à jour, et vous pouvez ajuster le seuil si nécessaire. Ça a pris du temps, mais ça a fini par y arriver.

Il y a beaucoup de raisons pour lesquelles vous voudrez peut-être un grattoir Web comme l'un d'entre eux, et bien qu'il existe des outils qui peuvent le faire, c'est cool de créer le vôtre. Vous pouvez les utiliser pour le suivi des colis ou, dans mon cas, pour rechercher de nouvelles propriétés à louer sur des sites immobiliers locaux.

Générateur de mot de passe en C

La sécurité étant à la mode ces derniers temps, il est important que vous utilisiez des mots de passe sécurisés et que vous utilisiez également une authentification à deux facteurs. Si vous rencontrez des difficultés avec la partie mot de passe sécurisé, il est assez facile d'écrire un générateur de mot de passe en C. ChatGPT l'a géré assez facilement, et le seul problème que j'ai découvert était que lorsque je lui ai demandé de créer un générateur de mot de passe, il n'a pas importé la bibliothèque String C. Je lui ai dit cela, et il l'a ajouté aux importations au début.

J'ai augmenté la variable globale MAX_LENGTH à 32 caractères au lieu de 16, et cela a généré le mot de passe suivant pour moi: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. Sûr de dire que cela fonctionne!

Calculatrice en Java

Un programme assez basique que beaucoup de gens connaissent en Java est la création d'une calculatrice. C'est l'un des premiers défis auxquels les informaticiens seront confrontés dans leur carrière de programmeur, quel que soit le langage qu'ils adoptent en premier. J'ai demandé à ChatGPT d'écrire une calculatrice en Java utilisant au moins deux classes, et cela a parfaitement fonctionné du premier coup.

C'est la classe calculatrice :

C'est la classe principale :

La création de ces deux classes dans mon IDE, IntelliJ, et l'exécution de la classe principale aboutissent à un fonctionnement parfait programme de calcul qui prend en compte deux nombres et un opérateur pour l'addition, la soustraction, la multiplication ou division.

ChatGPT est décent en programmation

Bien que je ne compte pas sur ChatGPT pour tout faire pour vous, il est clair qu'il peut faire un très bon travail pour créer des programmes et prendre en compte les critiques en cas de problème. J'ai été surpris de le voir suggérer un algorithme de hachage comme moyen de discerner les changements mineurs dans une page Web, mais à part cela, il n'a pas eu de difficulté avec les tâches les plus élémentaires. Même dans le cas du programme Python, il avait la bonne idée dès le début et, sur des pages plus statiques, aurait parfaitement fonctionné.

Bien sûr, ChatGPT ne va pas remplacer les programmeurs de sitôt, mais il est en passe de devenir un très bon outil sur le marché du travail. Copilote de GitHub, par exemple, utilise Google Tag technologie pour aider les gens à écrire du code, et elle ne fera que s'améliorer avec le temps. Même si vous êtes un programmeur débutant, ce type d'outil pourrait potentiellement vous aider à apprendre si vous pouviez lui faire entièrement confiance, mais il fait parfois des erreurs étranges, comme nous l'avons vu.

Bien sûr, les exemples donnés ici sont très basiques, et la plupart des programmeurs seraient capables de les écrire assez facilement, mais là n'est pas la question. Il est terriblement doué pour créer des solutions à des tâches simples et semble également gérer décemment des tâches plus complexes. Nous sommes ravis de voir où des outils comme ceux-ci iront à l'avenir et aideront les gens à améliorer leurs compétences.