Commentaires : On a demandé à ChatGPT de faire une application mobile

Est-ce que vous savez coder ? Que la réponse soit oui ou non, impossible de passer à côté de ChatGPT dans le domaine du développement informatique. Si vous n’êtes pas un expert, pas de souci, ChatGPT vous aidera à créer vos premières lignes de code. Si, au contraire, taper du code est votre quotidien, eh bien pareil, ChatGPT peut clairement vous assister pour réaliser du code simplement.

C’est débile comme essai. ChatGPT peut vous aider à améliorer le code source via optimisation ou vous aider à trouver une solution pour résoudre un problème de codage que vous ne maîtrisez pas mais vous pondre un programme de A à Z c’est pas pour demain car il ne possède pas la réflexion qui vous dit on ne peut pas mettre ± en même temps, pffff :-1:

1 « J'aime »

C’est un outil, un assistant… Rien de plus, et c’est déjà très bien.

J’ai tenté de lui faire développer une pendule d’échecs en Java qui envoie un événement quand le drapeau tombe, et qui permet de connaître le temps restant pour chaque joueur. C’est un poil plus compliqué qu’une calculatrice, parce qu’il y a potentiellement plusieurs threads à gérer.
La bonne nouvelle, c’est qu’il sait vaguement ce qu’est une pendule. Et à première vue son code à l’air de fonctionner. Sauf qu’à regarder de plus près, les 2 joueurs ont le même compteur de temps (chose qu’il règle vite quand on lui signale), et le code n’est pas thread safe. Premier problème donc : Il vaut mieux être un développeur pas trop mauvais pour utiliser ChatGPT, sinon, c’est la catastrophe assurée. Second problème, après une heure à lui expliquer les pb dans son code, il s’est mis à faire comme les mauvais dev : la correction n casse la correction n-x…
Reste que je n’avais pas pensé à certaines de ses approches que j’ai réutilisées dans le code que j’ai refait.

1 « J'aime »

Je rejoins un peu ton ressenti.
Je suis un développeur Java expérimenté (15 ans) et fait pas mal d’expériences avec ChatGPT.
ChatGPT est assez impressionnant mais en pratique on se rend vite compte de ses limites. Ces réponse sont globalement pas trop erronées mais souvent imparfaites.
Ca prend plus de temps à essayer de comprendre ses propositions, analyser ses erreurs et le réorienter en lui donnant du contexte qu’à le faire soit même.
Par contre cela peut donner des idées auxquelles on aurait pas forcément pensées.
Ca peut être intéressant pour l’utilisation de certaines librairies exotiques pour lesquelles on a peut d’exemples en lignes ou si la documentation est trop « light » ou « compliquée ».
Peut être que le jour où il sera bien intégré à l’IDE avec une capacité d’analyser l’ensemble du code du projet il deviendra vraiment intéressant.
En l’état, je vais me limiter à quelques questions pour avoir des pistes à explorer.

Tout est déjà dit, c’est un assistant de recherche à des questions bien posées.
Avec les bonnes questions et axes de recherche ou d’optimisation piloté par l’utilisateur, c’est l’équivalent d’une bonne recherche sur les sites de références du développeurs et forums qui contiennent déjà toutes les réponses.
Un bon moteur de recherche, en somme…

Cela dit, certains développements comme le développement Web peuvent être plus facilement copiables que du code compilé. Là-dessus, avec les bonnes questions, le développeur Web de site lambda qui ne sait même pas ce qu’est un algo, une architecture et des design patterns peut disparaître sans regret.

Je trouve dommage que les rédacteurs de ce genre de test (que je trouve important de faire et de présenter au public) ai une approche aussi superficielle : il y a un problème ? on essaye même pas de le corriger, tant pis…

Alors qu’en fait, après que chatGPT ai écrit le code, il suffit de lui dire « améliore le code » une ou deux fois pour obtenir un résultat nettement plus convaincant.

Idem, en cas d’erreur (car il en fait souvent, il ne faut pas se mentir) , il suffit de lui copier coller le message d’erreur, sans ajouter aucun commentaire, et il comprend très bien de quoi on lui parle et ce qu’on attend de lui : qu’il débug le code qu’il a fourni, et il le fait.

Mais voilà, il n’est pas rare de faire une dizaine d’échange successif avec chatGPT avant d’obtenir vraiment ce qu’on veut. Alors c’est un peu laborieux, mais il faut relativiser.

Certes, il ne pond pas un truc parfait du premier coup et le résultat n’est pas immédiat, mais vous pouvez quand même compresser 3-4 jours de travail d’un développeur en 30 minutes, ce qui est loin d’être nul. Mais il faut avoir le courage de faire des copier coller dans tout les sens pendant 30 minutes.

Le problème est que si vous faites ça, vous ne comprenez pas vraiment ce que vous faites, votre code n’est pas vraiment maintenable, d’autant moins que si vous demandez a chatGPT d’ajouter une fonctionnalité plus tard, ce sera tellement compliqué de lui expliquer le projet , les détails de l’implémentation existantes, etc… qu’il sera plus simple de repartir de zéro.

A (court) terme tout cela va changer, on pourra envoyer des projet entier à chatGPT (jusqu’à 100Mo) qu’il pourra modifier/restructurer/debugger directement.

On pourra aussi lui demander de générer des animations interactive directement dans la conversation. La fonctionnalité est encore en bêta pour l’instant mais vous pouvez voir des tests sur youtube, ça s’appelle « chatgpt code interpreter »

Enfin, je regrette que votre test repose sur la version gratuite.
Si on veut créer une appli professionnelle, j’ose espérer qu’on est prêt à claquer 20 euros pendant un mois le temps de créer l’appli…

Les réponses de GPT4 pour le code n’ont rien à voir en terme de qualité avec le code généré par la version gratuite.

Autant j’étais hyper enthousiaste au début avec chatGPT premier du nom, mais j’ai vite déchanté en essayant de l’utiliser dans mon activité professionnelle : il se trompait trop souvent, ou pire , me faisait croire que des choses impossible étaient possible.

Autant avec GPT4, je suis surpris quand il se trompe (et je l’utilise quotidiennement dans mon travail depuis mi mars - je suis dev web senior - )

Bref cet article ne reflète pas la réalité car vous n’essayez pas réellement de faire un projet, c’est juste un article pour vous.

Prenez quelques jours et essayez véritablement de créer une appli clubic qui fait un truc utile pour vous et qui vous implique. Là, vous écrirez un super article représentatif de la réalité.

Concrètement, au quotidien, comment l’utilises tu ?
Principalement pour nettoyer ton code ?
Lui faire générer quoi ?
Génération de test unitaires ?
Lui mets tu tout ton projet à disposition ?
Quel gain de temps penses tu obtenir ?
(Il n’y a aucune ironie derrière ma question)
La plupart des articles que je trouve sur le sujet sont assez balourd généralement.

mais du coup, le problème avec une librairie exotique pour laquelle on a peu d’exemples en ligne, c’est que l’IA aura été nourrie de très peu de choses et donc risque de ne pas être d’une grande aide…

Si j’ai bien compris, vous n’avez pas demandé à chatgpt de faire une application mobile mais de vous aider a coder une application mobile.
C’est certainement mieux qu’une recherche google mais pas de beaucoup je trouve.
Surtout pour le sujet précis (une calculette) où il y a assurément des centaines de tutos sur le net.