Jeg brukte ChatGPT til å skrive den samme rutinen på disse ti obskure programmeringsspråkene

bilde9.jpg

For noen uker siden tok jeg en titt på å bruke ChatGPT til å skrive den samme rutinen i et dusin av de mest populære programmeringsspråkene. Men som et programmeringsspråk-nerd, lurte jeg på hvor langt ChatGPT ville gå. Ville det programmere på et språk fra 1950-tallet? Ville det programmere på et språk som brukte sitt eget tegnsett? Kunne det skrive kode i et av språkene som skrev sin egen kode?

Også: De beste AI-chatbotene: ChatGPT og alternativer å prøve

Og så dykket jeg inn. Jeg har brukt mange av språkene jeg fremhever her, så jeg tar en liten tur nedover minneveien og inkluderer noen historier om min erfaring med dem jeg har brukt.

Selv om jeg ikke har kjørt koden selv, har jeg lest gjennom alle de genererte programmene. De fleste ser riktige ut og viser de riktige indikatorene som forteller oss at språket som presenteres, er det språket jeg ba om.

Jeg forteller deg dette fordi overskriftene på alle skjermbildene er feil. De fleste er oppført som SQL. Av en eller annen grunn vises BAL som VBNet, og Prolog er oppført som Rust. ChatGPT gjorde ikke denne feilen sist gang, men den gjorde den i dag, for alle språk som vises her.

Og med det, la oss dykke inn.

Fortran

Fortran (eller FORTRAN, som det ble kalt den gang) står for Formula Translation. Det ble primært utviklet for vitenskapelige og ingeniørmessige beregninger. Selv om det stammer tilbake til 1950-tallet, var det ofte det første språket som ble undervist til ingeniørstudenter på 1970- og 1980-tallet.

Også: Denne nye teknologien kan blåse vekk GPT-4 og alt som ligner på det

For meg var det mitt fjerde programmeringsspråk, etter BASIC, PDP-8 assembly-språk og PDP-8 binær (ja, jeg skrev binærkode slik at jeg kunne stille den inn på frontpanelet til en tidlig minicomputer). Min far kjørte generøst meg den timen ned til Newark College of Engineering (nå NJIT), slik at jeg kunne ta deres førsteårsprogrammeringskurs mens jeg fremdeles var andreårsstudent på high school.

Fortran var aldri favoritten, selv om det kunne håndtere de fleste beregningsorienterte oppgaver. En variasjon av Fortran er fortsatt i bruk i dag, men den er ganske begrenset til spesialisert vitenskapelig arbeid siden mange andre moderne språk gjør Fortran-analyser på samme nivå, og gjør det bedre.

Her ser det ut til at ChatGPT, på grunn av bruken av implicit nøkkelordet, viser kode skrevet i Fortran-77 varianten.

bilde7.jpg

COBOL

Je var en tenåring COBOL-utvikler. Jeg kjente ikke til COBOL på den tiden, men et sted rundt 1980 så jeg en stillingsannonse for en COBOL-utvikler ved Northeast Regional Data Center til International Paper i Denville, NJ. Det var omtrent 40 minutter fra foreldrenes hjem, og jeg trengte en sommerjobb. Så snart jeg klarte å avtale et intervju, løp jeg til den lokale bokhandelen og tilbrakte en helg med å fordype meg i all lesemateriale om COBOL jeg kunne finne.

COBOL var ment for forretningsorientert databehandling. I dag ville de samme typene kunder være SAP- eller Salesforce-brukere. Men COBOL, som du kan se fra COBOL-88-koden nedenfor, var funksjonell, men den var absolutt ikke elegant.

Som det viser seg, ønsket de en ansatt på heltid. Men siden jeg besto testen deres (tydeligvis slo helgen min med tanke på poengsummen til profesjonelle som søkte), bestemte de seg for å sette meg i arbeid for sommeren. Å si at det var en kulturell uoverensstemmelse var en underdrivelse. Dette var de meget tidlige dagene med mikrodatamaskiner (tenk før PC-en) og jeg dyrket det. Samtidig handlet disse folka om dresser og slips og gigantiske databaserte sentre. Jeg fikk nesten umiddelbart kallenavnet "Trouble." Hei, jeg var fortsatt et barn.

Det avgjørende øyeblikket for meg kom da en av de mer erfarne programmererne i selskapet tok meg til side for å forklare, og jeg siterer: "COBOL er livet." Jeg tok den beskjeden til hjertet og bestemte meg for at jeg ikke ønsket at mitt liv skulle handle om COBOL. Den sommeren var siste gang jeg programmerte noe i COBOL.

bilde11.jpg

RPG (Rapportgeneratorprogram)

Nei, det er ikke en rakettmotorgranat eller et rollespill. RPG var et program for å lage rapporter. Du kan se utviklingen i språket (og datamaskinspråktankene generelt) mellom de to versjonene som vises nedenfor. RPG II stammer fra slutten av 1950-tallet. RPG IV ble oppdatert på 1990-tallet, og er betydelig mer moderne (men fortsatt datert).

Jeg skrev noen få RPG III-programmer for AS/400 som en sidejobb mens jeg var på college, men det var aldri noe jeg fulgte veldig nøye med på.

bilde3.jpg

Lisp

Jeg har hatt et langvarig kjærlighetsforhold til Lisp. Lisp, som står for LISt Processor, ble noen ganger beskrevet som Massevis av meningsløse dumme parenteser. Av en eller annen grunn falt disse parentesene naturlig for meg. Lisp var min inngangsport til AI-programmering, og som vi har lært av ChatGPT's bearbeiding av språk, kan kunnskap representeres som strenger av ord, eller lister.

Tilbake på 1980-tallet var jeg produktansvarlig for en RISC-basert Common Lisp-implementering og kodet med det en stund. Basert på defun hilsen og let-syntaksen generert av ChatGPT, ser det ut til at koden nedenfor også er Common Lisp, en senere variasjon av John McCarthys opprinnelige Lisp-implementering fra slutten av 1950-tallet. McCarthy var en av grunnleggerne av AI-forskning, så det er passende at en AI skal skrive på språket hans.

bilde4.jpg

Algol

ALGOL (ALGOrytmisk språk) var fremtidsrettet. Det tillot overføring av funksjoner som parametere, og tillot bruk av rekursjon. Dette er to nøkkelkomponenter i moderne programmering som manglet i populære språk som Fortran og COBOL, som var populære på samme tid som ALGOL ble introdusert.

Hvis Fortran, BASIC og assembly-språk lærte meg topp-ned-programmering, lærte ALGOL meg hvordan jeg skulle strukturere koden min. Det var et grunnleggende språk som la grunnlaget for min bruk av C, Pascal, Java, JavaScript og de fleste moderne strukturerte språkene vi bruker i dag.

bilde5.jpg

Simula

Simula, som du kanskje kan tenke deg, ble utviklet for simulering og modellering. Som ALGOL var også Simula i forkant av sin tid, og støttet bruken av objekter og klasser. Objektorientert programmering har siden blitt fundamental for mange av dagens mest effektive programmeringsspråk.

Bruk av nøkkelordet OUTFIX forteller meg at ChatGPT sannsynligvis skrev følgende kode i Simula-67.

bilde6.jpg

BAL (IBM 360/370 maskinspråk)

BAL, som står for "basic assembly language," var monteringspråket for store IBM-maskiner på 1970- og 1980-tallet. Monteringspråk anses som "lavere nivå" enn "høyere nivå-språk," noe som betyr at individuelle instruksjoner og nøkkelord samsvarer med individuelle prosessorinstruksjoner. I høyere nivå-språk (som de fleste vi bruker i dag), er språket ofte langt unna den underliggende maskinarkitekturen, og er mer designet for effektiv programmering enn effektiv bruk av maskinvare.

Jeg tok et semester med BAL på college. Det var tøft. Professoren brukte mesteparten av tiden med ryggen til studentene, mumlet forelesningen sin i monotont tonefall, samtidig som han skrev kontinuerlig på tavlen. Jeg satt bakerst ved siden av ei jente som het Laura. En dag bestemte Laura og jeg oss for å smyge oss ut gjennom bakvinduet for å kjøpe kaffe. Etter at vi hadde fått vår java, klatret vi tilbake gjennom vinduet. Professoren merket det aldri.

Det er en fantastisk ting at noen av oss besto, men det er ikke rart at nesten ingen av oss valgte BAL programmering som vårt foretrukne kodingsverktøy.

bilde8.jpg

APL

APL, eller A Programming Language, er et annet programmeringsspråk. En av de mest slående aspektene ved APL er at det bruker et ikkestandardisert tegnsett for noen av sine operatører og koding. Du kan se det i bildet nedenfor. De små gliftene er det ChatGPT klarte å samle opp fra skrifttypen den brukte, men APL er designet for å bruke APL385 Unicode-skrifttypen, som er unik for programmering i APL.

På grunn av sitt konsise syntaks og evne til å håndtere store datasett, blir det brukt i en god del vitenskapelige, økonomiske og analytiske prosjekter.

bilde10.jpg

Prolog

Prolog (som kommer fra frasen Programmering i Logikk) er et annet AI-fokusert språk. Prolog er et deklarativt språk som lister opp regler og betingelser, og deretter kjører spørringer over disse deklarasjonene. Ifølge ChatGPT:

Prolog er et av programmeringsspråkene som brukes i utviklingen av ChatGPT, spesielt for generering av tekst. Det brukes i Prolog-til-engelsk-modulen som oversetter logiske former i Prolog til naturlige språksetninger.

bilde1.jpg

Smalltalk

Smalltalk er spesielt. Den ble utviklet ved Xerox PARC, det samme forskningslaboratoriet som påvirket utviklingen av musen og vindusbaserte miljøer. Den inkorporerte noen av Simula's innovasjoner innen objektorientert programmering og gikk enda lenger. Den var også et av de første språkene som aktivt brukte et GUI-basert interaktivt programmeringsmiljø. Mange av dagens toppspråk, inkludert Java, Python og Ruby, ble sterkt påvirket av Smalltalk.

Jeg har bare lekt litt med Smalltalk, mest for å bli kjent med det. Da jeg bodde i Silicon Valley på den tiden, fikk jeg muligheten til å bli kjent med designerne av Smaltalk, som senere startet ParcPlace Systems, i et forsøk på å kommersialisere Smalltalk utenom Xerox sin bedriftsmessige tregskap. Jeg har mange gode minner om å diskutere programmeringsteori over spareribs og coleslaw på en liten nedslitt grillrestaurant i Palo Alto.

En av visepresidentene jeg jobbet med på datamaskinselskapet der jeg var ansatt, prøvde å overtale meg til å starte et selskap med ham for å anvende Smalltalk på bedriftsmarkedet, men jeg hadde ennå ikke blitt bitt av oppstartsbasillen. Smalltalk kom aldri inn på markedet. Likevel, så glad som jeg er for veien livet mitt har tatt, lurer jeg noen ganger på hva som hadde skjedd hvis jeg hadde takket ja til tilbudet hans.

bilde2.jpg

Jeg har tanker

Jeg har ikke kjørt denne koden, og siden jeg ikke er like kjent med disse språkene som med PHP og JavaScript, kan jeg ikke være sikker på at mitt visuelle gjennomgang garanterer at koden ovenfor vil kjøre vellykket. Som vi så tidligere denne uken med min utforsking av Barde sin nye programmeringskunst, er det mulig å skrive kode uten at koden faktisk fungerer.

Også: Jeg ba ChatGPT om å skrive en WordPress-utvidelse jeg trengte. Den gjorde det på under 5 minutter

Vi vet at det er minst én feil i hver eksempel: overskriftene er feil. Så selv om AI-en har evnen til å generere kode i en rekke relativt obskure språk som er utrolig imponerende, må du ikke anta at den gjør hele jobben riktig.

Hvis du bestemmer deg for å inkorporere ChatGPT-programmering i arbeidsflyten din, må du sjekke, teste og feilsøke koden den genererer akkurat som du ville gjort hvis du ansatte noen til å skrive noen grunnleggende rutiner for deg.

Relaterte Artikler

Se mer >>

Lås opp kraften til AI med HIX.AI!