Käytin ChatGPT:tä kirjoittaakseni saman rutiinin näillä kymmenellä obscurella ohjelmointikielellä

kuva9.jpg

Muutama viikko sitten kokeilin ChatGPT:n käyttöä saman rutiinin kirjoittamiseen tusinalla suosituimmista ohjelmointikielistä. Mutta ohjelmointikielen harrastajana mietin, kuinka pitkälle ChatGPT pystyisi menemään. Kirjoittaisiko se ohjelmia 1950-luvun kielellä? Kirjoittaisiko se kielellä, joka käytti omaa merkistöään? Pystyisikö se kirjoittamaan koodia kielellä, jolla kirjoitettiin sen oma koodi?

Lisäksi: Parhaat tekoäly-keskusteluohjelmistot: ChatGPT ja vaihtoehdot, joita kannattaa kokeilla

Ja niin, sukelsin syvään. Olen käyttänyt monia tässä korostettavia kieliä, joten otan pienen kävelyretken muistojen polkua pitkin ja sisällytän joitain tarinoita kokemuksistani niiden parissa.

Vaikka en ole suorittanut itse koodia, olen lukenut kaikki luodut ohjelmat. Useimmat näyttävät oikein ja näyttävät asianmukaiset merkit, jotka kertovat, että esitetty kieli on se kieli, jonka pyysin.

Kerron tämän sinulle, koska kaikkien näyttökuvien otsikot ovat väärin. Useimmat niistä on lueteltu SQL:änä. Jostain syystä BAL on merkitty VBNetiksi ja Prolog on luetteloitu Rustiksi. ChatGPT ei tehnyt tätä virhettä viime kerralla, mutta se teki sen tänään kaikille tässä esitetyille kielille.

Ja sen myötä, siirrytään asiaan.

Fortran

Fortran (tai FORTRAN, kuten se esitettiin silloin) tarkoittaa Formula-käännöstä. Se kehitettiin pääasiassa tieteellisiin ja teknisiin laskelmiin. Vaikka se juontaa juurensa 1950-luvulle, se oli usein ensimmäinen kieli, jota opetettiin insinööriopiskelijoille 1970- ja 1980-luvuilla.

Muutakin: Tämä uusi teknologia voisi pyyhkäistä GPT-4:n ja kaiken sen kaltaisen pois

Minulle se oli neljäs ohjelmointikieli BASICin, PDP-8:n konekielen ja PDP-8:n binäärikoodin jälkeen (kyllä, kirjoitin binäärikoodia, jotta voisin kytkeä sen esiasetuksena olevaan varhaisen minitietokoneen etupaneeliin). Isäni ystävällisesti ajoi minut tunnin matkan alas Newarkin insinööriopistoon (nykyinen NJIT), jotta voisin suorittaa heidän ensimmäisen vuoden ohjelmointikurssin ollessani vielä lukiolaisena.

Fortran ei koskaan ollut suosikki, vaikka se pystyi hoitamaan suurimman osan laskentapainotteisista tehtävistä. Eräänlainen Fortran-variaatio on edelleen käytössä tänä päivänä, mutta se on melko rajoitettu erikoistuneeseen tieteelliseen työhön, sillä monet muut modernit kielet suoriutuvat Fortran-tason analytiikasta paremmin.

Tässä tapauksessa, johtuen impliciitistä avainsanasta, ChatGPT näyttää kuvaavan Fortran-77 variantin mukaan kirjoitettua koodia.

kuva7.jpg

COBOL

Olin teini-ikäinen COBOL-ohjelmoija. En osannut COBOLia tuolloin, mutta jossain vuoden 1980 tienoilla näin ilmoituksen COBOL-ohjelmoijan paikasta International Paperin Koillisalueen tietokeskuksessa Denvillessä, NJ:ssä. Se oli noin 40 minuutin matkan päässä vanhempieni kotoa, ja tarvitsin kesätyön. Heti kun sain sovittua haastattelun, juoksin paikalliseen kirjakauppaan ja viikonlopun aikana ahmin kaiken COBOL-lukemateriaalin, mitä löysin.

COBOL oli tarkoitettu liiketoimintaprosessointiin. Tänä päivänä samankaltaisia asiakkaita olisivat SAP- tai Salesforce-käyttäjät. Mutta COBOL, kuten alla olevasta COBOL-88-koodista näet, oli toiminnallinen, mutta ei suinkaan elegantti.

Kävi ilmi, että he halusivat kokoaikaisen työntekijän. Mutta koska pärjäsin heidän testissään (ilmeisesti viikonlopun opiskeluni voitti ammattilaisten pisteet, jotka haki), he päättivät panna minut töihin kesäksi. Sanoa, että kulttuurinen ristiriita oli aliarvioitu. Nämä olivat hyvin varhaisten mikrotietokoneiden päiviä (ajattele es-PC:tä) ja minä olin innoissani siitä kaikesta. Sillä välin nämä ihmiset olivat täysin pukeutuneita pukuihin ja solmioihin ja jättimäisiin tietokeskuksiin. Minä sain lähes välittömästi lempinimen "Trouble". Hei, olin vielä lapsi.

Määrittelevä hetki minulle koitti, kun yksi yrityksen kokeneemmista ohjelmoijista otti minut sivuun selittääkseen, ja lainaan häntä: "COBOL on elämä". Otin tämän viestin sydämeeni ja päätin, että en halua elämäni olevan COBOL:ista. Se kesä oli viimeinen kerta, kun ohjelmoin mitään COBOL:illa.

kuva11.jpg

RPG (Raporttiohjelma-luontigeneraattori)

Ei, se ei ole rakettikäyttöinen kranaatti tai roolipeli. RPG oli ohjelma raporttien luomiseen. Voit nähdä kielen kehityksen (ja tietokonekielen ajattelun yleisesti) kahden alla näytetyn version välillä. RPG II juontaa juurensa myöhäisiltä 1950-luvulta. RPG IV päivitettiin 1990-luvulla ja on selvästi nykyaikaisempi (mutta edelleen päivätty).

Olen kirjoittanut muutamia RPG III -ohjelmia AS/400:lle sivutyönä opiskellessani, mutta en ole koskaan seurannut sitä kovin tarkasti.

kuva3.jpg

Lisp

Minulla on pitkä rakkaussuhde Lisp-ohjelmointikieleen. Lisp, jonka nimi tulee LISt Processorista, on joskus kuvattu "Paljon Tylsiä Tyhjiä Sulkumerkkejä" -lyhenteellä. Jostain syystä nuo sulkeet napsahtivat päähäni. Lisp oli porttini tekoälyohjelmointiin, ja kuten olemme oppineet ChatGPT:n käsittelystä, tietoa voidaan edustaa sanojen tai listojen jonoina.

1980-luvun alussa olin tuotepäällikkö RISC-pohjaiselle Common Lisp -toteutukselle ja koodasin sitä jonkin aikaa. ChatGPT:n luoma defun greeting ja let -syntaksi perusteella näyttää siltä, että alla oleva koodi on myös Common Lisp, myöhäisempi muunnelma John McCarthyn alkuperäisestä Lisp-toteutuksesta, joka syntyi 1950-luvun lopulla. McCarthy oli yksi tekoälytutkimuksen perustajaisistä, joten on sopivaa, että tekoäly kirjoittaa hänen kielellään.

kuva4.jpg

Algol

ALGOL (ALGOtyyminen kieli) oli aikaansa edellä. Se mahdollisti toimintojen välittämisen parametreina ja rekursion käytön. Nämä ovat kaksi nykyaikaisen ohjelmoinnin keskeistä osaa, jotka puuttuivat suosituista kielistä, kuten Fortranista ja COBOLista, jotka olivat suosittuja ALGOLin julkaisun aikoihin.

Jos Fortran, BASIC ja assembly-kieli opettivat minulle ylhäältä alaspäin ohjelmointia, ALGOL opetti minulle, miten järjestää koodini. Se oli peruskieli, joka valmisti minua käyttämään C:tä, Pascalia, Javaa, JavaScriptiä ja suurinta osaa nykyaikaisista rakennetuista kielistä, joita käytämme tänään.

kuva5.jpg

Simula

Simula, kuten voitte kuvitella, kehitettiin simulointia ja mallintamista varten. Kuten ALGOL, Simula oli myös aikaansa edellä tukemalla olioiden ja luokkien käyttöä. Olio-ohjelmointi on siitä lähtien tullut perustavaksi monille nykypäivän tehokkaimmista ohjelmointikielistä.

Käytön avulla avainsana OUTFIX kertoo minulle, että ChatGPT todennäköisesti kirjoitti seuraavan koodin Simula-67:llä.

kuva6.jpg

BAL (IBM 360/370 käännöskomentokieli)

BAL, joka tarkoittaa "basic assembly language" -käytettiin isoissa IBM-laitteistoissa 1970- ja 1980-luvuilla. Kokoamiskieli on pidetty "alemman tason" kielempänä verrattuna "ylhäisen tason kieliin", mikä tarkoittaa sitä, että yksittäiset ohjeet ja avainsanat mäpätään suoraan prosessorin ohjeisiin. Korkeamman tason kielissä (joita käytämme nykyisin), kieli on usein kaukana alusrakenteesta ja on suunniteltu ohjelmoinnin tehokkuuden sijaan laitteiston tehokasta käyttöä varten.

Opiskelin amkissa yhden lukukauden BAL:ia. Se oli rankkaa. Professori seisoi useimmiten selkä opiskelijoille päin ja mutisi luentonsa yksitoikkoisesti samalla, kun kirjoitti taukoamatta liitutaululle. Istuin takarivissä erään tytön, Lauran, vieressä. Eräänä päivänä päätimme Lauran kanssa luikahtaa takasivuikkunasta kahville. Kun olimme saaneet käsiimme herkullisen kahviamme, kiipesimme takaisin ikkunasta sisään. Professori ei koskaan huomannut mitään.

Onhan ihme, että meistä kukaan pääsi läpi, mutta ei ole ihme, että käytännössä kukaan meistä valinnut BAL-ohjelmoinnan koodausaseekseen.

kuva8.jpg

APL

APL, tai A Programming Language, on toinen ohjelmointikieli. Yksi huomionarvoisimmista APL:ään liittyvistä seikoista on se, että se käyttää joitakin ei-standardoituja merkkijoukkoja joissakin operaattoreissa ja ohjelmoinnissa. Voit nähdä sen alla olevassa kuvassa. Pienet glyfit ovat ChatGPT:n käyttämästä kirjasintyypistä saatavia, mutta APL on suunniteltu käyttämään APL385 Unicode -kirjasintyyppiä, joka on ainutlaatuinen APL-ohjelmoinnissa.

Koska se on tiiviin syntaksin ja suuren datan hallinnan ansiosta, sitä käytetään melko monissa tieteellisissä, taloudellisissa ja analyyttisissä projekteissa.

kuva10.jpg

Prologi

Prolog (joka juontaa juurensa ilmauksesta Programming in Logic) on toinen tekoälyyn keskittynyt kieli. Prolog on deklaratiivinen kieli, joka luettelee sääntöjä ja ehtoja ja suorittaa sitten kyselyjä näiden määritysten yli. ChatGPT:n mukaan:

Prolog on yksi ohjelmointikielistä, jota käytetään ChatGPT:n kehittämisessä, erityisesti tekstin generoinnissa. Sitä käytetään Prolog-to-English -moduulissa, joka kääntää Prologin loogiset muodot luonnollisen kielen lauseiksi.

kuva1.jpg

Smalltalk

Smalltalk on erityinen. Se kehitettiin Xerox PARC -tutkimuslaitoksella, samalla tutkimuslaitoksella, joka vaikutti hiiren ja ikkunaympäristöjen kehittämiseen. Se sisälsi joitakin Simulan innovaatioita oliopohjaisessa ohjelmoinnissa ja meni vielä pidemmälle. Se oli myös yksi ensimmäisistä kielistä, jotka käyttivät aktiivisesti graafisen käyttöliittymän pohjaista interaktiivista ohjelmointiympäristöä. Moniin nykypäivän johtaviin kieliin, kuten Javaan, Pythoniin ja Rubyyn, Smalltalkilla oli suuri vaikutus.

Vain pintapuolisesti kokeilin Smalltalkia päästäkseni tutustumaan siihen. Asuin silloin Silicon Valleyssa ja tutustuin Smaltalkin suunnittelijoihin, jotka myöhemmin perustivat ParcPlace Systemsin yrittääkseen kaupallistaa Smalltalkia Xeroxin yrityscorpolaatista ulkopuolella. Minulla on paljon hyviä muistoja ohjelmointiteorian keskusteluista ribseistä ja coleslaw'sta pienen rappeutuneen grilliravintolan Palo Altossa.

Yksi varapuheenjohtajista, joiden kanssa työskentelin tietokoneyrityksessä, yritti houkutella minua perustamaan yrityksen hänen kanssaan soveltamaan Smalltalkia yritysmarkkinoille, mutta en ollut vielä saanut yritystoimintaan kipinää. Smalltalk ei koskaan saavuttanut suosiota markkinoilla. Silti, vaikka olenkin tyytyväinen nykyiseen elämäntieni, toisinaan mietin, mitä olisi tapahtunut, jos olisin tarttunut hänen tarjoukseensa.

kuva2.jpg

Mulla on ajatuksia

En käynnistänyt tätä koodia enkä sitä paitsi ole yhtä hyvin perillä näistä kielistä kuin PHP:stä ja JavaScriptistä, joten en voi olla varma, että visuaalinen tarkistus takaisi yllä näkyvän koodin onnistuneen suorituksen. Kuten näimme aiemmin tällä viikolla Bardin uuden ohjelmointiosaamisen tutkimuksen yhteydessä, on mahdollista kirjoittaa koodia, joka ei toimi.

Lisäksi: Pyyysin ChatGPT:tä kirjoittamaan tarvitsemani WordPress-liitännäisen. Se teki sen alle 5 minuutissa

Me tiedämme, että jokaisessa esimerkissä on ainakin yksi virhe: otsikot ovat väärin. Joten vaikka tekoälyn kyky generoida koodia erilaisilla melko epätyypillisillä kielillä on uskomattoman hieno, älä oleta sen tekevän koko työtä oikein.

Jos päätät ottaa ChatGPT-ohjelmoinnin osaksi työnkulkua, sinun on tarkistettava, testattava ja vianetsittävä koodi, jonka se generoi, aivan kuten tekisit, jos palkkaisit jonkun kirjoittamaan joitakin perusrutiineja sinulle.

Liittyvät artikkelit

Näytä lisää >>

Avaa tekoälyn voima HIX.AI:lla!