Impact de ChatGPT sur Stack Overflow ?
Publié le 9 mars 2023, par Richard Carlier
Étude personnelle
#chatgpt #stack overflow
Pour préparer mes cours, je regarde souvent les tendances du marché, et Stack Overflow Trends est un indicateur intéressant.
Et je suis tombé sur une courbe curieuse, une baisse significative, et en même temps surprenante de Pandas. L’arrivée de Polars? J’en doute, trop jeune.
Alors… alors creusons!
Stack Overflow
Pour ceux qui ne connaissent pas, Stack Overflow est un site web proposant des questions et réponses sur un large choix de thèmes concernant la programmation informatique.
On y va (régulièrement) dès qu’on a un trou pour récupérer les réponses à une question similaire à notre problème, un oubli de syntaxe, voir pour poser une problématique si on ne trouve pas. Souvent, Google nous renvoie dans les premières réponses vers Stack Overflow. Et ce, depuis 2008.
Stack Overflow Trends
En complément, il met à disposition un outil Stack Overflow Trends, pour 3243 thématiques (à date), permettant de voir l’évolution des technologies au fil du temps en fonction de l’utilisation de leurs balises depuis la création de Stack Overflow.
Je m’en sers régulièrement pour préparer mes cours, et essayer d’anticiper. C’est par exemple vers 2018 que je me suis mis à python, pour commencer à l’enseigner quelques temps plus tard (et il représente désormais une bonne partie de mes activités de formateurs). Php, que j’enseignais beaucoup avant (et toujours utilisé), a été mis de côté…
Ce matin, j’ai été surpris de passer par là et de voir ce graphique, à propos de pandas:
Vu l’activité autour de l’outil, le nombre de livres qui sortent (autre indicateur), les sondages divers et variés (sur StackOverflow, Kaggle, etc…) c’est assez surprenant.
Il ne m’a pas fallu longtemps pour voir que cela coïncidait avec le mois de novembre… Hum?
Hum ?
La sortie de Chat GPT…
Pour ceux qui ne connaissent pas… euh… Si, il peut y en avoir. Avec mon COVID début décembre, j’ai un peu loupé les premières semaines… mais me suis rattrapé depuis.
Bref: ChatGPT est un prototype d’agent conversationnel utilisant l’intelligence artificielle, spécialisé dans le dialogue. Et très utilisé par les développeurs, donc, comme aide mémoire, ou pour générer des bouts de code.
Comme Stack Overflow ?
Oui, mais avec quelques différences
- plus rapidement (quand il est accessible)
- plus précisément (quand on pose bien la question)
- avec la possibilité d’ajuster la question, et donc la réponse sur mesure
- avec plus de bugs (il n’y pas le système de vote permettant de noter les réponses précédentes)
Redoutable, comme tout ce qu’il fait, si on sait utiliser les réponses (mais c’est un autre débat…)
Pandas, et les autre ?
Du coup, je me suis demandé si d’autres choses que pandas avaient été impactées.
Ni une, ni deux…
Je télécharge les presque 9Mo du fichier de tendances, le converti au format csv, et bim.
Tous les autres ?
Non. Uniquement les « gros » projets (j’utiliserais le terme projet, mais cela couvre langages, projets, framework, etc.)
Premier filtre, je ne garde que les projets qui ont fait plus de 1% à un moment donné. Ce qui permet de passer à 104 projets. Oui, il y a beaucoup de petites choses…
J’ai ensuite généré 104 graphiques (il en manque un, c# a posé un problème au niveau du nom du fichier…)
Et scanné rapidement (et visuellement) les baisses à partir de novembre.
La flemme de détecter les baisses de tendances automatiquement…
Résultat des courses
Algorithmie est assez significatif.
Cela regroupe les termes : algorithm, arrays, list, string…
Je sens assez les débutants en programmation se lancer sur le sujet. ChatGPT sera très à l’aise pour répondre à des questions fondamentales, voire tordue.
Dans le cadre d’un examen, par exemple (si, si, c’est pour ça qu’on revient au interro papier dans certains examens).
J’ai pris pour exemple la première question que m’a posée Codewars.com lors de mon inscription.
Copié/collé de la question vers ChatGPT.
Copié/collé de la réponse vers Codewars:
J’ai passé le test avec succès.
Cela m’a pris moins d’une minute.
Je n’ai même pas lu la question.
Pandas, et la data science...
Les 3 autres massivement impactés sont les mots pandas, dataframe, et mongodb.
Et sans surprise, ChatGPT est plutôt bon avec pandas. Si on a un petit doute sur une syntaxe, il nous la donne. On donne un extrait de dataframe, et il nous fait des réponses sur mesure. Il faut souvent les adapter un peu, les comprendre bien sûr. Mais quand même…
Allez, je tente ?
Je ne mets pas la suite, elle était fausse. Mais comme il le dit, Il est possible que le test t de Student ne soit pas approprié pour votre cas particulier. Je ne creuserais pas plus.
Mais pour de nombreux rappels de syntaxe, il a juste. D’ailleurs, c’est en partie lui qui a fait le code pour générer les graphiques de cet article (que j’ai du retravailler, mais j’ai gagné pas mal de temps quand même).
En passant : évitez de donner des extraits de dataframe avec des données réelle. Ça commence à poser des problèmes de sécurité, mais là aussi c’est un autre débat.
Conclusion provisoire
L’impact n’a été significatif que sur les quelques projets que j’ai relevé.
Peut-être d’ailleurs que ce n’est pas lié qu’à ChatGPT ? Hum…
Dans tous les cas, on manque encore de recul.
Et puis, ChatGPT n’est pas toujours accessible, saturé, donc on continue d’utiliser les bonnes vieilles méthodes, Stack Overflow en tête.
Jusque quand ?