J'ai utilisé ChatGPT pour écrire la même routine dans ces dix langages de programmation peu connus

image9.jpg

Il y a quelques semaines, j'ai jeté un coup d'œil à l'utilisation de ChatGPT pour écrire la même routine dans une douzaine des langages de programmation les plus populaires. Mais en tant que passionné des langages de programmation, je me demandais jusqu'où ChatGPT pourrait aller. Programmerait-il dans un langage des années 1950 ? Programmerait-il dans un langage utilisant son propre jeu de caractères ? Pourrait-il écrire du code dans l'une des langues qui écrivait son code ?

Aussi : Les meilleurs chatbots IA : ChatGPT et des alternatives à essayer

Et donc, je me suis lancé. J'ai utilisé beaucoup des langages que je mets en avant ici, donc je vais faire un petit retour sur mes souvenirs et inclure quelques anecdotes sur mon expérience avec ceux que j'ai utilisés.

Alors que je n'ai pas exécuté le code lui-même, j'ai parcouru tous les programmes générés. La plupart semblent corrects et affichent les indicateurs appropriés indiquant que le langage présenté est celui que j'ai demandé.

Je vous le dis parce que les en-têtes sur toutes les captures d'écran sont incorrectes. La plupart sont répertoriées comme étant SQL. Pour une raison quelconque, BAL est affiché comme VBNet et Prolog est répertorié comme Rust. ChatGPT n'a pas commis cette erreur la dernière fois, mais l'a faite aujourd'hui pour toutes les langues présentées ici.

Et avec cela, plongeons.

Fortran

Fortran (ou FORTRAN, comme il était écrit à l'époque) signifie Formula Translation. Il a été développé principalement pour les calculs scientifiques et d'ingénierie. Même s'il remonte aux années 1950, il était souvent le premier langage enseigné aux étudiants en génie dans les années 1970 et 1980.

Aussi : Cette nouvelle technologie pourrait souffler GPT-4 et tout ce qui lui ressemble

Pour moi, c'était mon quatrième langage de programmation, après BASIC, le langage d'assemblage PDP-8 et le binaire PDP-8 (oui, j'ai écrit du code binaire pour le saisir sur le panneau avant d'un mini-ordinateur précoce). Mon père a gentiment conduit pendant une heure jusqu'à Newark College of Engineering (maintenant NJIT) pour que je puisse suivre leur cours de programmation de première année alors que j'étais encore au lycée.

Fortran n'a jamais été un favori, bien qu'il puisse accomplir la plupart des tâches axées sur les calculs. Une variation de Fortran est encore utilisée aujourd'hui, mais elle est plutôt limitée aux travaux scientifiques spécialisés, car de nombreux autres langages modernes proposent des analyses de niveau Fortran, et elles le font mieux.

Ici, en raison de l'utilisation du mot-clé implicit, on dirait que ChatGPT représente du code écrit dans la variante Fortran-77.

image7.jpg

COBOL

Je faisais partie de ces programmeurs jeunes et inexpérimentés en COBOL. À l'époque, je ne connaissais pas encore le COBOL, mais aux alentours de 1980, j'ai vu une annonce pour un poste de programmeur COBOL au Centre de données régional du Nord-Est d'International Paper à Denville, dans le New Jersey. Cela se trouvait à environ 40 minutes du domicile de mes parents, et j'avais besoin d'un emploi d'été. Dès que j'ai réussi à organiser un entretien, je me suis précipité dans la librairie locale et j'ai passé tout un week-end à dévorer tous les livres sur le COBOL que j'ai pu trouver.

COBOL était destiné au traitement orienté vers les affaires. Aujourd'hui, les mêmes types de clients seraient des utilisateurs de SAP ou Salesforce. Mais COBOL, comme vous pouvez le voir dans le code COBOL-88 ci-dessous, était fonctionnel, mais ce n'était certainement pas élégant.

Il s'est avéré qu'ils souhaitaient un employé à temps plein. Mais comme j'ai réussi leur test (apparemment, mes études du week-end ont surclassé les scores des professionnels qui ont postulé), ils ont décidé de me faire travailler pendant l'été. Dire qu'il y avait une inadéquation culturelle serait un euphémisme. C'étaient les tout premiers jours des micro-ordinateurs (pensez pré-PC) et j'étais dans mon élément avec tout ça. Pendant ce temps, ces gens étaient tous habillés en costumes et cravates, et travaillaient dans de gigantesques centres de données. J'ai presque immédiatement hérité du surnom "Trouble". Eh oui, j'étais encore un gamin.

Le moment décisif pour moi est venu lorsque l'un des programmeurs les plus expérimentés de l'entreprise m'a pris à part pour m'expliquer, et je cite, "COBOL, c'est la vie." J'ai pris cette affirmation à cœur et j'ai décidé que je ne voulais pas que ma vie tourne autour de COBOL. Cet été-là a été la dernière fois que j'ai programmé quoi que ce soit en COBOL.

image11.jpg

RPG (Report Program Generator)

Non, ce n'est pas une grenade propulsée par un lance-roquettes ou un jeu de rôle (RPG en anglais). RPG était un programme permettant de créer des rapports. Vous pouvez observer l'évolution du langage (et de la réflexion sur le langage informatique en général) entre les deux versions présentées ci-dessous. RPG II remonte à la fin des années 1950. RPG IV a été mis à jour dans les années 1990 et est nettement plus moderne (mais toujours clairement dépassé).

J'ai écrit quelques programmes RPG III pour l'AS/400 en tant que projet parallèle pendant mes études, mais ce n'était jamais quelque chose que je suivais de très près.

image3.jpg

Lisp

J'ai une longue histoire d'amour avec Lisp. Lisp, dont le nom signifie LISt Processor, était parfois décrit comme de nombreuses parenthèses insipides et stupides. Pour une raison quelconque, ces parenthèses ont cliqué dans mon cerveau. Lisp a été ma porte d'entrée dans la programmation en IA, et comme nous l'avons appris grâce au traitement du langage par ChatGPT, la connaissance peut être représentée sous forme de chaînes de mots ou de listes.

De retour dans les années 1980, j'étais chef de produit pour une implémentation Lisp Commun basée sur RISC et j'ai codé avec pendant un certain temps. En me basant sur la syntaxe defun greeting et let générée par ChatGPT, il semble que le code ci-dessous soit également du Common Lisp, une variation ultérieure de l'implémentation Lisp originale de John McCarthy à la fin des années 1950. McCarthy était l'un des pères fondateurs de la recherche en IA, il est donc tout à fait approprié qu'une IA écrive dans son langage.

image4.jpg

Algol

ALGOL (ALGOrythmic Language) était en avance sur son temps. Il permettait le passage de fonctions en tant que paramètres et autorisait l'utilisation de la récursion. Ce sont deux éléments clés de la programmation moderne qui étaient absents des langages populaires tels que Fortran et COBOL, qui étaient populaires à l'époque de l'introduction d'ALGOL.

Si Fortran, BASIC et le langage d'assemblage m'ont appris la programmation top-down, ALGOL m'a appris à structurer mon code. C'était un langage fondamental qui a préparé le terrain pour mon utilisation de C, Pascal, Java, JavaScript et la plupart des langages structurés modernes que nous utilisons aujourd'hui.

image5.jpg

Simula

Simula, comme vous pouvez l'imaginer, a été développé pour la simulation et la modélisation. Comme ALGOL, Simula était également en avance sur son temps, soutenant l'utilisation d'objets et de classes. La programmation orientée objet est depuis devenue fondamentale pour bon nombre des langages de programmation les plus efficaces d'aujourd'hui.

L'utilisation du mot-clé OUTFIX me dit que ChatGPT a probablement écrit le code suivant en Simula-67.

image6.jpg

BAL (Langage d'assemblage IBM 360/370)

BAL, qui signifie "basic assembly language", était le langage d'assemblage pour les gros ordinateurs IBM dans les années 1970 et 1980. Le langage d'assemblage est considéré comme plus bas niveau que les "langages de haut niveau", ce qui signifie que les instructions et mots-clés individuels correspondent à des instructions de processeur individuelles. Dans les langages de haut niveau (comme la plupart de ceux que nous utilisons aujourd'hui), le langage est souvent éloigné de l'architecture machine sous-jacente et est conçu davantage pour l'efficacité de la programmation que pour une utilisation efficace du matériel.

J'ai suivi un semestre de BAL à l'université. C'était difficile. Le professeur passait la plupart du temps debout, dos aux étudiants, marmonnant son cours d'une voix monotone tout en écrivant sans arrêt au tableau. J'étais assis au dernier rang à côté d'une fille nommée Laura. Un jour, Laura et moi avons décidé de nous échapper par la fenêtre arrière pour prendre un café. Une fois notre café en main, nous sommes revenus par la fenêtre. Le professeur ne s'en est jamais rendu compte.

C'est étonnant que nous ayons réussi, mais il n'est pas étonnant que pratiquement aucun d'entre nous n'ait choisi la programmation en BAL comme arme de codage préférée.

image8.jpg

APL

APL, ou A Programming Language, est un autre langage de programmation. Un des aspects les plus marquants d'APL est l'utilisation d'un jeu de caractères non standard pour certains de ses opérateurs et codage. Vous pouvez le voir dans l'image ci-dessous. Les petits symboles sont ce que ChatGPT a pu extraire de la police qu'il utilisait, mais APL est conçu pour utiliser la police Unicode APL385, qui est propre à la programmation en APL.

En raison de sa syntaxe concise et de sa bonne gestion des grands ensembles de données, il est utilisé dans un certain nombre de projets scientifiques, financiers et analytiques.

image10.jpg

Prologue

Prolog (qui est dérivé de la phrase Programmation en Logique) est un autre langage axé sur l'IA. Prolog est un langage déclaratif, listant des règles et des conditions, puis exécutant des requêtes sur ces déclarations. Selon ChatGPT:

Prolog est l'un des langages de programmation utilisés dans le développement de ChatGPT, plus précisément pour la génération de texte. Il est utilisé dans le module de Prolog-vers-Anglais, qui traduit les formes logiques en Prolog en phrases en langage naturel.

image1.jpg

Smalltalk

Smalltalk est spécial. Il a été développé à Xerox PARC, le même laboratoire de recherche qui a influencé le développement de la souris et des environnements fenêtrés. Il a incorporé certaines innovations de Simula dans la programmation orientée objet et est allé plus loin. Il a également été l'un des premiers langages à faire un usage actif d'un environnement de programmation interactif basé sur une interface graphique. Beaucoup des langages les plus populaires d'aujourd'hui, y compris Java, Python et Ruby, ont été fortement influencés par Smalltalk.

J'ai seulement gratté la surface de Smalltalk, principalement pour le découvrir. Vivant à Silicon Valley à l'époque, j'ai fait la connaissance des concepteurs de Smaltalk, qui ont plus tard créé ParcPlace Systems dans le but de commercialiser Smalltalk en dehors du cadre corporatif de Xerox. J'ai de nombreux bons souvenirs de discussions sur la théorie de la programmation autour de côtes de porc et de salade de chou dans un petit restaurant de barbecue un peu délabré à Palo Alto.

Un des vice-présidents avec qui j'ai travaillé dans l'entreprise informatique où j'étais employé a essayé de me convaincre de créer une entreprise avec lui pour appliquer Smalltalk au marché de l'entreprise, mais je n'avais pas encore été piqué par le virus des start-ups. Smalltalk n'a jamais percé sur le marché. Pourtant, aussi heureux que je sois du chemin que ma vie a pris, je me demande parfois ce qui se serait passé si j'avais accepté son offre.

image2.jpg

J'ai des pensées

Je n'ai pas exécuté ce code, et comme je ne suis pas aussi familier avec ces langages que je le suis avec le PHP et JavaScript, je ne peux pas garantir que ma revue visuelle garantit le bon fonctionnement du code indiqué ci-dessus. Comme nous l'avons vu plus tôt cette semaine lors de l'exploration des nouvelles compétences en programmation de Bard, il est possible d'écrire du code sans que ce code fonctionne correctement.

Aussi : J'ai demandé à ChatGPT d'écrire un plugin WordPress dont j'avais besoin. Il l'a fait en moins de 5 minutes

Nous savons qu'il y a au moins une erreur dans chaque exemple : les en-têtes sont incorrects. Donc, même si la capacité de l'IA à générer du code dans plusieurs langages relativement obscurs est incroyablement impressionnante, ne supposons pas qu'elle fait entièrement son travail correctement.

Si vous décidez d'intégrer la programmation ChatGPT dans votre flux de travail, vous devrez vérifier, tester et déboguer le code qu'il génère, tout comme vous le feriez si vous aviez engagé quelqu'un pour rédiger quelques routines de base pour vous.

Articles connexes

Voir Plus >>

Libérez la puissance de l'IA avec HIX.AI !