Pomocí ChatGPT jsem napsal stejnou rutinu v těchto deseti neznámých programovacích jazycích

obraz9.jpg

Před pár týdny jsem si přečetl článek o použití ChatGPT ke psaní stejné rutiny v desítkách nejpopulárnějších programovacích jazyků. Ale jako nadšenec do programovacích jazyků jsem se ptal, jak daleko ChatGPT zajde. Napíše program v jazyce z roku 1950? Napíše program v jazyce s vlastním znakovým souborem? Dokáže napsat kód v jednom z jazyků, který napsal svůj vlastní kód?

Také: Nejlepší AI chatboti: ChatGPT a alternativy, které stojí za vyzkoušení

A tak jsem se pustil do toho. Používal jsem mnoho z těch jazyků, na které se zde zaměřuji, takže si udělám malou procházku po paměti a budu zahrnovat nějaké příběhy o svých zkušenostech s těmi, které jsem používal.

While I haven't run the code itself, I've read through all the generated programs. Most look right, and show the appropriate indicators telling us that the language presented is the language I asked for.

Říkám ti to proto, že záhlaví ve všech screenshotů jsou nesprávná. Většina z nich je uvedena jako SQL. Z neznámého důvodu je BAL zobrazeno jako VBNet a Prolog je uváděn jako Rust. ChatGPT tento omyl neudělala naposledy, ale udělala ho dnes pro všechny zde zobrazené jazyky.

A nyní se ponořme do toho.

Fortran

Fortran (nebo FORTRAN, jak bylo tehdy znázorňováno) znamená Formula Translation. Byl vyvinut především pro vědecké a inženýrské výpočty. Přestože pochází již z 50. let, často byl prvním jazykem, který se vyučoval studentům technických oborů v 70. a 80. letech.

Také: Tato nová technologie by mohla překonat GPT-4 a vše, co je podobné

Pro mě to byl můj čtvrtý programovací jazyk po BASICu, assembleru PDP-8 a binárním jazyku PDP-8 (ano, psal jsem binární kód, abych ho mohl manuálně zadávat pomocí ovládacího panelu raného minipočítače). Můj otec mě velkoryse odvezl do Newark College of Engineering (nyní NJIT), abych mohl absolvovat jejich programovací kurz prvního roku, když jsem byl ještě druhákem na střední škole.

Fortran nikdy nebyl oblíbený, ačkoli by se s pomocí něho daly vyřešit většina výpočetně zaměřených úkolů. Varianta Fortranu se stále používá, ale je poměrně omezená na specializované vědecké práce, protože mnoho jiných moderních jazyků provádí analýzu na úrovni Fortranu a dělají to lépe.

Zde, kvůli použití klíčového slova implicitní, to vypadá, že ChatGPT zobrazuje kód napsaný ve variantě Fortran-77.

obraz7.jpg

COBOL

Byl jsem teenagerem programátorem COBOLu. Tehdy jsem COBOL neznal, ale někdy kolem roku 1980 jsem viděl inzerát hledajícího programátora COBOLu v Northeasts Regional Data Center International Paper v Denville, NJ. Bylo to asi 40 minut od domova mých rodičů a potřeboval jsem letní práci. Jakmile se mi podařilo domluvit si pohovor, běžel jsem do místní knihovny a strávil celý víkend hltáním všech dostupných materiálů o COBOLu.

COBOL byl určen pro zpracování s důrazem na obchod. Dnes by stejným typem zákazníků mohli být uživatelé SAP nebo Salesforce. Ale COBOL, jak můžete vidět z následujícího kódu COBOL-88, byl funkční, ale rozhodně nebyl elegantní.

Nakonec se ukázalo, že chtěli plnohodnotného zaměstnance. Ale protože jsem zvládl jejich test (zřejmě moje víkendové studium představovalo lepší výsledky než profesionálové, kteří se přihlásili), rozhodli se, že mě zaměstnají na léto. Říci, že to byla kulturní neshoda, bylo podhodnocení. Tehdy to byly opravdu rané časy mikropočítačů (před-zmínilo se PC) a já jsem se do toho bujně ponořil. Tito lidé se zatím soustředili na obleky, kravaty a obří úložiště dat. Téměř okamžitě jsem dostal přezdívku "Trouble". Hele, byl jsem stále ještě děcko.

Pro mě přišel rozhodující okamžik, když mi jeden z více zkušených programátorů ve firmě vzal bokem a vysvětlil, a cituji: "COBOL je život." Tuto zprávu jsem bral k srdci a rozhodl jsem se, že nechci, aby můj život byl o COBOLu. Tenhle léto byl posledním časem, kdy jsem něco programoval v COBOLu.

obraze11.jpg

RPG (Report Program Generator)

Ne, není to raketově poháněná granátometa ani hra na hrdiny. RPG byl program pro tvorbu zpráv. Můžete si všimnout vývoje v jazyce (a obecně i myšlení v počítačovém jazyce) mezi dvěma uvedenými verzemi níže. RPG II pochází z konce 50. let. RPG IV byl aktualizován v 90. letech a je značně modernější (ale stále určitě zastaralý).

Při studiu jsem zkusil napsat několik programů v RPG III pro AS/400 jako přivýdělek, ale nikdy jsem se tím opravdu vážně nezabýval.

obrazek3.jpg

Lisp

Mám dlouhý vztah k Lispu. Lisp, který je pojmenován podle List Processoru, byl někdy popisován jako Mnoho Jednoduchých Hloupých Závorek. Z nějakého důvodu ty závorky přeskočily v mé mysli. Lisp byl mým vstupním bodem do programování umělé inteligence a jak jsme se naučili zpracováním jazyka ChatGPT, znalosti lze reprezentovat jako řetězce slov nebo seznamy.

V osmdesátých letech jsem byl produktovým manažerem pro implementaci Common Lispu založenou na RISC a nějaký čas jsem v něm kódoval. Vzhledem k syntaxi defun greeting a let generované ChatGPT to vypadá, že spodní kód je také Common Lispem, pozdější variantou původní implementace Lispu Johna McCarthyho z konce padesátých let. McCarthy byl jedním z otců zakladatelů výzkumu umělé inteligence, takže je jen spravedlivé, že umělá inteligence bude psát v jeho jazyce.

obrázek4.jpg

Algol

ALGOL (ALGOritmický jazyk) byl před svou dobou. Umožňoval předávání funkcí jako parametrů a povoloval používání rekurze. Toto jsou dvě klíčové složky moderního programování, které chyběly v populárních jazycích jako Fortran a COBOL, které byly populární ve stejné době, kdy byl ALGOL představen.

Pokud jde o Fortran, BASIC a jazyk assembleru, naučily mě top-down programování, ale ALGOL mě naučil, jak strukturovat můj kód. Byl to základní jazyk, který připravil půdu pro používání C, Pascalu, Javy, JavaScriptu a většiny moderních strukturovaných jazyků, které používáme dnes.

obraz5.jpg

Simula

Simula, jak si můžete představit, byla vyvinuta pro simulaci a modelování. Stejně jako ALGOL, Simula byla také před svou dobou a podporovala použití objektů a tříd. Objektově orientované programování se od té doby stalo základem pro mnoho dnešních nejefektivnějších programovacích jazyků.

Použití klíčového slova OUTFIX mi říká, že ChatGPT pravděpodobně napsal následující kód v Simule-67.

obrázek6.jpg

BAL (jazyk symbolických instrukcí IBM 360/370)

BAL, což znamená "základní montážní jazyk", byl montážní jazyk pro velké železné počítače IBM v 70. a 80. letech. Montážní jazyk je považován za více "nízkoúrovňový" než "vyšší úrovňové jazyky", což znamená, že jednotlivé instrukce a klíčová slova odpovídají jednotlivým instrukcím procesoru. U vyšších úrovní jazyků (jako většina, kterou používáme dnes) je jazyk často oddělený od podkladové architektury stroje a je navržen spíše pro efektivitu programování než efektivní využití hardwaru.

Při studiu na vysoké škole jsem absolvoval semestr předmětu BAL. Bylo to náročné. Profesor strávil většinu dní se zády k studentům, monotónně mumlal svou přednášku a neustále psal na tabuli. Seděl jsem v poslední řadě vedle dívky jménem Laura. Jednoho dne jsme se s Laurou rozhodli potají vyklouznout oknem, abychom si dali kávu. Jakmile jsme si dopřáli šálek kávy, vrátili jsme se oknem zpět. Profesor si ničeho nevšiml.

Je zázrak, že jsme vůbec obstáli, ale není divu, že téměř nikdo z nás nezvolil BAL programování jako svůj kódovací nástroj.

obraz8.jpg

APL

APL, nebo také A Programming Language, je dalším programovacím jazykem. Jedním z nejzajímavějších aspektů APL je použití nestandardní sady znaků pro některé ze svých operátorů a kódování. Můžete si toho všimnout na následujícím obrázku. Malé symboly jsou to, co ChatGPT byl schopen vyhledat pomocí písma, které používal, ale APL je navržen tak, aby používal písmo APL385 Unicode, které je unikátní pro programování v APL.

Vzhledem k tomu, jak má stručnou syntaxi a dobře zvládá velká datová soubory, používá se v poměrně velkém počtu vědeckých, finančních a analytických projektů.

obrazek10.jpg

Prolog

Prolog (což je odvozeno z fráze Programování v logice) je dalším jazykem zaměřeným na umělou inteligenci. Prolog je deklarativní jazyk, který seznamuje pravidla a podmínky a poté vyhledává dotazy nad těmito deklaracemi. Podle ChatGPT:

Prolog je jedním z programovacích jazyků používaných při vývoji ChatGPT, konkrétně pro generování textu. Používá se v modulu převodu Prologu na anglický jazyk, který překládá logické formy v Prologu do vět přirozeného jazyka.

obraz1.jpg

Smalltalk

Smalltalk je speciální. Byl vyvinut v Xerox PARC, stejném výzkumném ústavu, který ovlivnil vývoj myši a okenních prostředí. Začlenil některé inovace v objektově orientovaném programování založené na Simule a pokročil ještě dál. Byl také jedním z prvních jazyků, který aktivně využíval programovací prostředí interagující s grafickým uživatelským rozhraním. Mnoho z dnešních předních jazyků, včetně Java, Python a Ruby, bylo výrazně ovlivněno Smalltalkem.

Jen jsem se trochu zabýval Smalltalkem, převážně abych ho poznal. Bydlel jsem v Silicon Valley a seznámil jsem se s designéry Smalltalku, kteří později založili společnost ParcPlace Systems, s cílem komercializovat Smalltalk mimo korporátní prostředí Xeroxu. Mám mnoho příjemných vzpomínek na diskuse o teorii programování při konzumaci žebraček a salátu v malé opuštěné barbecue restauraci v Palo Alto.

Jedním z viceprezidentů, se kterým jsem pracoval v počítačové společnosti, kde jsem byl zaměstnán, mě přesvědčoval, abych s ním založil společnost, která by aplikovala Smalltalk na podnikový trh. Ale ještě mě tehdy nepřepadla touha začít startup. Smalltalk se nikdy nestal úspěšným na trhu. Přestože jsem spokojený s cestou, kterou můj život zvolil, někdy si přesto představuji, co by se stalo, kdybych jeho nabídku přijal.

obrazek2.jpg

Mám myšlenky

Nespustil jsem tento kód a jelikož nemám takovou aktuální znalost těchto jazyků jako mám s PHP a JavaScriptem, nemohu zajistit, že můj vizuální přezkum zaručuje úspěšné spuštění uvedeného kódu. Jak jsme viděli dříve tuto týden při prozkoumávání Bardových nových programovacích schopností, je možné psát kód, který nepozpůsobuje práci.

Také: Poprosil jsem ChatGPT, aby napsal WordPress plugin, který jsem potřeboval. Stihl to za méně než 5 minut

Víme, že v každém příkladu je alespoň jedna chyba: záhlaví jsou nesprávná. Takže i když schopnost AI generovat kód ve spoustě relativně neznámých jazycích je úžasná, nedopusťte, aby jste předpokládali, že dělá celou práci správně.

Pokud se rozhodnete začlenit programování ChatGPT do své pracovního postupu, budete muset ověřit, otestovat a ladit kód, který generuje, stejně jako byste to udělali, kdybyste najali někoho, kdo by pro vás napsal některé základní rutiny.

Příbuzné články

Zobrazit víc >>

Odemkněte sílu AI s HIX.AI!