Si ChatGPT produit du code généré par l’IA pour votre application, à qui appartient-il réellement ?
ChatGPT est bien connu pour ses capacités de codage, mais que se passera-t-il lorsqu'une douzaine de langues lui seront proposées en une seule session ? La réponse : vraiment bien.
Au cours de la dernière année, nous avons tous appris que ChatGPT peut écrire du code. Je lui ai fait passer un certain nombre de tests en PHP et WordPress qui ont montré les forces et les faiblesses des capacités de codage de ChatGPT.
Mais jusqu’où s’étendent les connaissances en codage de ChatGPT ? Lorsque j'ai initialement rédigé cet article au début de 2023, j'ai comparé la mission de programmation classique « Hello, world » aux 12 langues les plus populaires dans le classement de popularité d'O'Reilly Media pour 2023.
Nous avons ensuite effectué de nombreuses analyses sur la popularité des langages de programmation, mais même avec cette mise à jour de fin 2024, je m'en tiens aux 12 langages originaux que nous avons testés. Même si certaines de nos 12 langues ne sont pas vraiment très populaires, elles sont toujours d'actualité et utilisées. Cette sélection nous donne un très bon aperçu pour mieux nous aider à comprendre dans quelle mesure ChatGPT gère un large éventail de langues.
Parce que "Hello, world" peut souvent être codé sur une seule ligne, j'ai ajouté une légère ride, en demandant à ChatGPT de présenter "Hello, world" dix fois, en incrémentant à chaque fois une valeur de compteur. Je lui ai également demandé de vérifier l'heure et de commencer chaque séquence par « Bonjour », « Bon après-midi » ou « Bonsoir ».
Cela nous donne également un aperçu du déroulement du programme et de certaines fonctions intrinsèques, tout en gardant le code suffisamment petit pour que je puisse inclure une douzaine de captures d'écran dans cet article.
Voici l'invite :
Écrivez un programme en ____ qui génère "Bonjour", "Bon après-midi" ou "Bonsoir" en fonction de l'heure qu'il est ici dans l'Oregon, puis génère dix lignes contenant l'index de la boucle (commençant par 1), un espace, puis les mots "Bonjour tout le monde !".
Pour chaque langage de programmation, j'ai également demandé à ChatGPT de décrire son utilisation principale. Voici l'invite que j'ai utilisée pour cette requête :
Pour chacun des langages suivants, rédigez une description en une phrase de son utilisation principale et de son facteur de différenciation : Java, Python, Rust, Go, C++, JavaScript, C#, C, TypeScript, R, Kotlin, Scala.
Maintenant, regardons chaque langue.
1. Java
ChatGPT décrit Java comme « un langage à usage général utilisé principalement pour créer des applications de bureau, Web et mobiles, et connu pour sa philosophie « écrire une fois, exécuter n'importe où ».
Java a été initialement développé par Sun Microsystems, mais lorsque Oracle a acheté Sun, il a également acheté Java. Bien que la spécification Java soit ouverte, le langage appartient à Oracle. Cela a donné lieu à des feux d’artifice juridiques spectaculaires au fil des années.
Voici le code de ChatGPT :
2. Python
ChatGPT décrit Python comme « un langage à usage général utilisé pour l'analyse de données, l'intelligence artificielle, le développement Web et l'automatisation, et connu pour sa lisibilité et sa facilité d'utilisation. »
Mon conseil : si vous envisagez d'apprendre à coder pour des applications d'IA, apprenez Python. Presque tout le code d’IA est étroitement intégré à Python.
Voici le code de ChatGPT :
3. La rouille
ChatGPT décrit Rust comme « un langage de programmation système utilisé pour créer des logiciels fiables et performants, et connu pour ses garanties de sécurité de la mémoire et de sécurité des threads ».
Voici le code de ChatGPT :
4. Allez
ChatGPT décrit Go comme « un langage de programmation système utilisé pour créer des applications réseau et serveur évolutives et efficaces, et connu pour sa simplicité et ses fonctionnalités de concurrence intégrées ».
Go est open source, mais il est géré par Google. Aller. Google. L'obtenir?
Voici le code de ChatGPT :
5.C++
ChatGPT décrit le C++ comme « un langage de programmation système utilisé pour créer des systèmes d'exploitation, des moteurs de jeu et des applications hautes performances, et connu pour son contrôle sur le matériel et la mémoire ».
Voici le code de ChatGPT :
6. Javascript
ChatGPT décrit JavaScript comme « un langage de script côté client utilisé pour créer des applications Web interactives et connu pour son utilisation généralisée dans le développement Web et sa capacité à s'exécuter dans les navigateurs Web ».
De plus, avec CSS (l'un des principaux langages de conception visuelle du Web), JavaScript est responsable de 87,45 % des grossièretés que j'ai prononcées au cours des neuf dernières années.
Voici le code de ChatGPT :
7. C#
ChatGPT décrit C# comme « un langage à usage général utilisé pour créer des applications de bureau, des jeux et des applications Web Windows, et connu pour ses fonctionnalités orientées objet et son intégration avec le framework .NET ».
C# est un langage propriétaire proposé par Microsoft. Je l'ai enseigné à l'extension de l'UC Berkeley pendant plus d'une décennie. Il s'agit d'un langage de passerelle très intéressant pour tous ceux qui souhaitent se familiariser avec la programmation professionnelle pour des environnements à prédominance Microsoft.
Voici le code de ChatGPT :
8.C
ChatGPT décrit C comme « un langage de programmation système utilisé pour créer des systèmes d'exploitation, des systèmes embarqués et des applications hautes performances, et connu pour son efficacité et son contrôle de bas niveau ».
On dit qu'on n'oublie jamais son premier amour. Avant d'apprendre à programmer C à l'époque des bateaux en bois et des programmeurs en fer, je n'ai jamais vraiment aimé un langage de programmation. Mais ensuite j'ai commencé à utiliser le C et mon monde a changé. C'était l'amour. Quelque chose dans la simplicité concise du langage m'a parlé à un niveau profond et primaire. C'est probablement un partage excessif, mais c'est également vrai. C sera toujours mon premier amour syntaxique.
Voici le code de ChatGPT :
9. Tapuscrit
ChatGPT décrit TypeScript comme « un surensemble de JavaScript utilisé pour créer des applications Web à grande échelle et connu pour son typage statique facultatif et ses fonctionnalités de langage avancées. »
TypeScript est également un produit Microsoft, mais contrairement à C#, il est open source et non propriétaire.
Voici le code de ChatGPT :
10.R
ChatGPT décrit R comme « un langage utilisé pour le calcul statistique et l'analyse de données, et connu pour ses puissantes capacités de manipulation et de visualisation des données ».
Voici le code de ChatGPT :
11. Kotlin
ChatGPT décrit Kotlin comme « un langage à usage général utilisé pour créer des applications Android, des applications côté serveur et des applications Web, et connu pour sa concision et son interopérabilité avec Java ».
Kotlin a été développé par JetBrains, une petite entreprise qui crée également PhpStorm, mon environnement de développement préféré actuel.
Voici le code de ChatGPT :
12. Échelle
ChatGPT décrit Scala comme « un langage utilisé pour créer des applications évolutives et distribuées, et connu pour sa prise en charge de la programmation fonctionnelle et son intégration avec la machine virtuelle Java ».
Voici le code de ChatGPT :
Notez également la sortie pour Scala (illustré ci-dessus). Je n'ai jamais programmé en Scala et je n'y connais pas grand-chose. ChatGPT non plus, car même si l'IA fournissait une coloration syntaxique pour tous les autres langages, elle ne semblait pas avoir cette information pour Scala.
Réflexions finales (et un peu en avant)
En tant que connaisseur des langages informatiques, j’ai trouvé cet exercice super amusant. Cela dit, il y a certaines choses à garder à l’esprit. Premièrement, je n'ai pas testé tout le code. Tester autant de sorties sort du cadre de cet article. Cela dit, j'ai lu le code généré et, pour la plupart des langues, le code semblait bon.
Lorsque j'ai effectué ces tests pour la dernière fois il y a presque un an, ChatGPT avait presque tout réussi (malgré la clause de non-responsabilité ci-dessus). Cependant, lorsqu'on lui a demandé de restituer du code en Forth (un langage très funky mais amusant), il a généré un code qui ressemblait à Forth mais étiqueté la fenêtre « Perl ». Cela n'a certainement pas généré Perl.
Cependant, cette fois, il a généré Forth (les deux-points sont un révélateur) et l'a étiqueté de manière appropriée. Comme Scala ci-dessus, ChatGPT ne semble pas avoir les tables de coloration syntaxique pour Forth, mais sinon, cela semble bien se passer.
Comme pour toutes mes autres visites dans le terrier du lapin avec ChatGPT et le codage, je suis impressionné mais aussi méfiant. Mes recommandations tiennent : utilisez-le comme un outil, mais testez, testez et testez.













