Weboldal keresés

Miért válik az etika a mesterséges intelligencia legnagyobb kihívásává?


Tud-e a ChatGPT programozni az 1950-es évek nyelvén, vagy olyan nyelveken, amelyek saját kódot írtak? Sétáltunk a memória sávon, hogy megtudjuk.

A Boston Latin School egyik oktatója 1968. október 4-én IBM 1130 számítógépet használ a Fortran tanítására a diákoknak.

Néhány héttel ezelőtt megvizsgáltam a ChatGPT használatával ugyanazt a rutint egy tucat legnépszerűbb programozási nyelven. De mint programnyelvi geek, azon tűnődtem, meddig jut el a ChatGPT. Az 1950-es évek nyelvén programozna? Olyan nyelven programozna, amely a saját karakterkészletét használja? Tud-e kódot írni valamelyik nyelven, amelyik a kódját írta?

És így belevágtam. Sok nyelvet használtam, amiket itt reflektorfénybe emelek, ezért teszek egy kis sétát az emlékezési sávban, és elmesélek néhány történetet az általam használt nyelvekkel kapcsolatos tapasztalataimról.

Bár magát a kódot nem futtattam le, végigolvastam az összes generált programot. A legtöbben jól néznek ki, és a megfelelő mutatókat mutatják, amelyek azt jelzik, hogy a bemutatott nyelv az általam kért nyelv.

Ezt azért mondom el, mert az összes képernyőképen rossz a fejléc. A legtöbb SQL néven szerepel. Valamiért a BAL VBNetként, a Prolog pedig Rust néven szerepel. A ChatGPT legutóbb nem követte el ezt a hibát, ma viszont az itt látható összes nyelven.

És ezzel ugorjunk bele.

Fortran

A Fortran (vagy FORTRAN, ahogy akkoriban ábrázolták) a Formula Translation rövidítése. Elsősorban tudományos és mérnöki számításokhoz fejlesztették ki. Annak ellenére, hogy az 1950-es évekre nyúlik vissza, gyakran ez volt az első nyelv, amelyet a mérnökhallgatóknak tanítottak az 1970-es és 1980-as években.

Nekem ez volt a negyedik programozási nyelvem a BASIC, a PDP-8 assembly nyelv és a PDP-8 bináris után (igen, azért írtam bináris kódot, hogy be tudjam kapcsolni egy korai miniszámítógép előlapján). Apám nagylelkűen levezetett egy órát a Newark College of Engineering-re (jelenleg NJIT), hogy részt vegyek az első éves programozási tanfolyamukon, amíg még másodéves voltam a középiskolában.

A Fortran sosem volt a kedvenc, bár a legtöbb számítás-orientált munkát elvégezte. A Fortran egy változata még ma is használatos, de ez meglehetősen csak speciális tudományos munkákra korlátozódik, mivel sok más modern nyelv végez Fortran-szintű elemzést, és jobban.

Itt az implicit kulcsszó használata miatt úgy tűnik, hogy a ChatGPT a Fortran-77 változatban írt kódot ábrázolja.

Annak ellenére, hogy a címke rossz, a kód Fortran.

COBOL

Tizenéves COBOL programozó voltam. Akkor még nem ismertem a COBOL-t, de valahol 1980 körül láttam egy COBOL programozó keresésére vonatkozó hirdetést a Denville-i International Paper Northeast Regional Data Centerben, NJ-ben. Körülbelül 40 percre volt a szüleim otthonától, és nyári munkára volt szükségem. Amint sikerült megbeszélnem egy interjút, elszaladtam a helyi könyvesboltba, és egy hétvégét azzal töltöttem, hogy a COBOL összes olvasnivalóját kóstolgattam, amit csak találtam.

A COBOL-t üzleti célú feldolgozásra szánták. Napjainkban az azonos típusú ügyfelek SAP- vagy Salesforce-felhasználók lennének. De a COBOL, ahogy az alábbi COBOL-88 kódból is látható, működőképes volt, de az biztos, hogy nem volt elegáns.

Mint kiderült, főállású alkalmazottat akartak. De mivel teljesítettem a tesztjüket (nyilván a tanulmányi hétvégém felülmúlta a jelentkező szakemberek pontszámait), úgy döntöttek, hogy a nyárra munkába állok. Ha azt mondjuk, hogy kulturális eltérés van, az alulmondás volt. Ezek voltak a mikroszámítógépek korai napjai (gondoljunk csak a PC előttiekre), és én dicsőültem ezekben a dolgokban. Eközben ezek az emberek az öltönyökről, nyakkendőkről és az óriási adatközpontokról szóltak. Szinte azonnal felvettem a "Trouble" becenevet. Hé, még gyerek voltam.

A meghatározó pillanat számomra akkor jött el, amikor a cég egyik tapasztaltabb programozója félrevitt, hogy elmagyarázzam, és idézem: "COBOL az élet". Megszívleltem ezt az üzenetet, és úgy döntöttem, hogy nem akarom, hogy az életem a COBOL-ról szóljon. Azon a nyáron programoztam utoljára bármit is COBOL-ban.

Bár a címke rossz, a kód COBOL, valószínűleg COBOL-88.

RPG (Jelentésprogram-generátor)

Nem, ez nem egy rakéta-meghajtású gránát vagy egy szerepjáték. Az RPG jelentések készítésére szolgáló program volt. Láthatja a nyelv (és általában a számítógépes nyelvi gondolkodás) fejlődését az alábbiakban bemutatott két változat között. Az RPG II az 1950-es évek végére nyúlik vissza. Az RPG IV-et az 1990-es években frissítették, és sokkal modernebb (de még mindig határozottan elavult).

Írtam néhány RPG III-as programot az AS/400-hoz mellékesként az egyetemen, de soha nem követtem ennyire figyelmesen.

Két RPG, mindkettő helytelen címkével.

Selypít

Hosszú szerelmi kapcsolatom van Lisppel. A Lisp-et, amelyet a LIST Processorról neveztek el, néha Lots of Insipid Stupid Parentheses néven írták le. Valamiért azok a zárójelek kattogtak az agyamban. A Lisp volt az én átjáró gyógyszerem a mesterséges intelligencia programozáshoz, és amint azt a ChatGPT nyelvfeldolgozásából megtudtuk, a tudás szósorként vagy listákként is ábrázolható.

Az 1980-as években egy RISC-alapú Common Lisp implementáció termékmenedzsere voltam, és egy ideig kódoltam is benne. A ChatGPT által generált defun greeting és let szintaxis alapján úgy tűnik, hogy az alábbi kód is Common Lisp, John McCarthy 1950-es évek végén készült eredeti Lisp megvalósításának későbbi változata. . McCarthy volt az AI-kutatás egyik alapító atyja, ezért illik, hogy egy MI az ő nyelvén írjon.

A címke rossz. Ez tehát nem SQL. Ez Lisp.

Algol

Az ALGOL (ALGOthymus nyelv) megelőzte korát. Lehetővé tette a függvények paraméterként történő átadását, és lehetővé tette a rekurzió használatát. Ez a modern programozás két kulcsfontosságú összetevője, amelyek hiányoztak az olyan népszerű nyelvekből, mint a Fortran és a COBOL, amelyek az ALGOL bevezetésével egy időben voltak népszerűek.

Ha a Fortran, a BASIC és az assembly nyelv tanított meg felülről lefelé irányuló programozást, akkor az ALGOL tanított meg a kód felépítésére. Ez egy olyan alapnyelv volt, amely megalapozta a C, Pascal, Java, JavaScript és a legtöbb modern strukturált nyelv használatát, amelyet ma használunk.

Nem, ez nem SQL. Ez az ALGOL.

Simula

A szimulát, ahogy azt elképzelheti, szimulációra és modellezésre fejlesztették ki. Az ALGOL-hoz hasonlóan a Simula is megelőzte korát, támogatta az objektumok és osztályok használatát. Az objektum-orientált programozás azóta sok mai leghatékonyabb programozási nyelv alapvető fontosságúvá vált.

Az OUTFIX kulcsszó használata azt mutatja, hogy a ChatGPT valószínűleg a következő kódot írta a Simula-67-ben.

Egyáltalán nem SQL, valami Simulát nézel.

BAL (IBM 360/370 assembly nyelv)

A BAL, amely az "alapvető assembly nyelv" rövidítése, a nagy IBM vasalógépek assembly nyelve volt az 1970-es és 1980-as években. Az összeállítási nyelvet inkább "alacsonyabb szintűnek" tekintik, mint a "magasabb szintű nyelveknek", ami azt jelenti, hogy az egyes utasítások és kulcsszavak megfelelnek az egyes processzorutasításoknak. A magasabb szintű nyelvekben (mint a legtöbben ma is) a nyelv gyakran távol áll a mögöttes gépi architektúrától, és inkább a programozás hatékonyságát szolgálja, mint a hardver hatékony használatát.

Egy félévet végeztem BAL-on az egyetemen. Durva volt. A professzor a legtöbb napot a diákoknak háttal állva töltötte, monoton hangon mormolta előadását, miközben megállás nélkül írt a táblára. A hátsó sorban ültem egy Laura nevű lány mellett. Egy nap Laurával úgy döntöttünk, hogy kiosonunk a hátsó ablakon kávéért. Miután megkaptuk a javát, visszamásztunk az ablakba. A professzor nem vette észre.

Csoda, hogy bármelyikünk átment, de nem csoda, hogy gyakorlatilag egyikünk sem választotta a BAL programozást választott kódoló fegyverként.

Ezúttal az AI a VBNET címkét adta a kódnak. Persze nem az. Ez BAL.

APL

Az APL vagy A Programming Language egy másik programozási nyelv. Az APL egyik legszembetűnőbb aspektusa, hogy nem szabványos karakterkészletet használ egyes operátoraihoz és kódolásaihoz. Ezt láthatod az alábbi képen. A ChatGPT az általa használt betűtípusból a kis karakterjeleket tudta előhívni, de az APL-t az APL385 Unicode betűtípus használatára tervezték, amely egyedülálló az APL programozásban.

Mivel tömör szintaxisa van, és jól kezeli a nagy adatkészleteket, számos tudományos, pénzügyi és elemzési projektben használják.

Ez nem SQL. Még csak nem is használ minden ASCII karaktert. Ez APL, és a saját dobosához vonul.

Bevezető

A Prolog (amely a Programming in Logic kifejezésből származik) egy másik mesterséges intelligencia-központú nyelv. A Prolog egy deklaratív nyelv, amely szabályokat és feltételeket listáz, majd lekérdezéseket futtat ezeken a deklarációkon. A ChatGPT szerint:

A Prolog a ChatGPT fejlesztése során használt programozási nyelvek egyike, kifejezetten a szöveg generálására. A Prolog-angol modulban használatos, amely a Prolog logikai alakjait természetes nyelvű mondatokká fordítja le.

A Prolog egy szórakoztató nyelv, de nem Rust. Ez a Prolog.

Smalltalk

A Smalltalk különleges. A Xerox PARC-ban fejlesztették ki, ugyanabban a kutatólaboratóriumban, amely befolyásolta az egér és az ablakos környezetek fejlesztését. Beépítette a Simula újításait az objektumorientált programozás terén, és tovább ment. Ez volt az egyik első nyelv, amely aktívan használta a grafikus felhasználói felület alapú interaktív programozási környezetet. Napjaink legnépszerűbb nyelvei közül sok, köztük a Java, a Python és a Ruby, nagy hatással volt a Smalltalk-ra.

Kizárólag a Smalltalk-ba bújtam bele, leginkább azért, hogy megismerjem. Abban az időben a Szilícium-völgyben éltem, és megismerkedtem a Smaltalk tervezőivel, akik később kiváltak a ParcPlace Systemsből, hogy megpróbálják kereskedelmi forgalomba hozni a Smalltalkot, a Xerox vállalati szilárdságán kívül. Sok kedves emlékem van arról, hogy a programozási elméletről beszéltem a bordákról és a káposztasalátáról egy kis lepukkant grillezőnél Palo Altoban.

Az egyik alelnök, akivel dolgoztam a számítógépes cégnél, ahol dolgoztam, megpróbált rábeszélni, hogy alapítsak vele egy céget, hogy alkalmazzam a Smalltalkot a vállalati piacon, de még nem harapott meg az indítási hiba. A Smalltalk soha nem jutott piacra. Ennek ellenére, bármennyire is boldog vagyok az életem által megtett úttal, néha elgondolkodom, mi lett volna, ha elfogadom az ajánlatát.

És végül, ez sem SQL. Ez Smalltalk.

vannak gondolataim

Nem én futtattam ezt a kódot, és mivel a közelmúltban nem ismerem annyira ezeket a nyelveket, mint a PHP-t és a JavaScriptet, nem lehetek biztos abban, hogy vizuális áttekintésem garantálja, hogy a fent látható kód sikeresen fut. Ahogy a hét elején láttuk, amikor Bard új programozási szelvényeit kutattam, lehetséges kódot írni anélkül, hogy ez a kód működne.

Tudjuk, hogy mindegyik példában van legalább egy hiba: a fejlécek rosszak. Tehát bár az AI képessége, hogy kódot generáljon egy csomó viszonylag homályos nyelven, hihetetlenül menő, ne feltételezzük, hogy az egész munkát megfelelően végzi.

Ha úgy dönt, hogy beépíti a ChatGPT programozást a munkafolyamatába, akkor ellenőriznie kell, tesztelnie kell és meg kell vizsgálnia az általa generált kódot, ugyanúgy, ahogyan azt tenné, ha felkérne valakit, hogy írjon meg néhány alapvető rutint.

Kapcsolódó cikkek