INTERCAL: Előkerült egy 50 éves, szándékosan használhatatlan programozási nyelv forráskódja

A programozási nyelvek világa tele van logikus, hatékony és elegáns megoldásokkal. Azonban létezik egy kevésbé ismert, de annál bizarrabb szegmens is: az ezoterikus programozási nyelveké. Ezeket gyakran nem a praktikus használatra, hanem intellektuális kihívásként, paródiaként vagy egyszerűen csak a fejlesztők szórakoztatására hozzák létre. Egy ilyen, több mint fél évszázados „szörnyeteg”, az INTERCAL fordítóprogramjának forráskódja került fel nemrégiben az internetre. Ez lehetőséget ad egy bizarr utazásra a számítástechnika egyik legfurcsább zugába.

Az INTERCAL születése: Egy programozási nyelv, amelyet direkt az őrület határára terveztek

Az INTERCAL 1972-ben látta meg a napvilágot. Alkotói, Don Woods és James M. Lyon, a Princetoni Egyetem hallgatói voltak. Céljuk egy olyan programozási nyelv létrehozása volt, amely semmilyen más, általuk ismert nyelvre nem hasonlít. Sőt, kifejezetten arra törekedtek, hogy a lehető legnehezebben olvasható, érthetetlen és használhatatlan legyen az emberi fejlesztők számára. Az INTERCAL neve maga is egyfajta programozói tréfa. A hivatalos dokumentáció szerint a „Compiler Language With No Pronounceable Acronym” (Kiejthetetlen Betűszó Nélküli Fordítóprogram Nyelv) rövidítése. Ez a kijelentés persze önmagában is ellentmondásos, hiszen az INTERCAL maga is egy kiejthető betűszó.

Ez a nyelv egyfajta előfutárának tekinthető a későbbi, hasonlóan elborult ezoterikus programozási nyelveknek, mint például a hírhedt Brainfuck. Az INTERCAL minden elemében a konvenciók felrúgására és a programozók bosszantására törekedett.

Az udvariasság kötelező: A „PLEASE” kulcsszó és a fordítóprogram szeszélyes viselkedése

Az INTERCAL talán leghíresebb és legbizarrabb jellemzője a „PLEASE” kulcsszó használatának kötelező, de egyben szeszélyes szabályozása. Ahhoz, hogy a fordítóprogram egyáltalán foglalkozzon a kóddal, a fejlesztőnek bizonyos időközönként, látszólag véletlenszerű helyekre be kell szúrnia a „PLEASE” szót. Ha ezt nem teszi meg elég gyakran, a fordító egyszerűen „durcás lesz”. Figyelmen kívül hagyja az utasításokat, vagy hibát jelez. Azonban a túlzott udvariaskodás sem célravezető. Ha túl gyakran használjuk a „PLEASE” kulcsszót, a fordító „túlzottan alázatosnak” minősíti a programot. Emiatt szintén sikertelen lesz a fordítás. A megfelelő arány megtalálása tehát önmagában is egyfajta fekete mágia.

Ez a fajta abszurd humor és a programozói frusztráció szándékos gerjesztése az INTERCAL egyik alapvető jellemzője. A nyelv tele van hasonló, logikátlannak tűnő szabályokkal és operátorokkal (pl. „mingle”, „select”).

A fordítóprogram háttere: SPITBOL, a kevésbé ismert, de hatékony rokon nyelv

Érdekesség, hogy maga az INTERCAL fordítóprogramja is egy viszonylag kevéssé ismert és nem éppen a könnyű olvashatóságáról híres nyelvben, a SPITBOL-ban íródott. A SPITBOL a SNOBOL programozási nyelv egy közeli rokona. Elsősorban szövegfeldolgozási feladatokra optimalizálták. Fontos megjegyezni, hogy sem a SPITBOL-nak, sem a SNOBOL-nak nincs köze a jóval ismertebb COBOL nyelvhez. Bár a SPITBOL maga is egy régebbi, kevésbé elterjedt nyelv, modern platformokra is léteznek hozzá fordítóprogramok. Ez teszi lehetővé, hogy a most közzétett INTERCAL forráskódot esetleg újra életre keltsék a vállalkozó kedvű programozók.

A forráskód feltámadása az interneten: Elérhető a GitHubon a kíváncsi fejlesztőknek

A napokban tehát az INTERCAL fordítójának forráskódja felkerült a népszerű kódmegosztó platformra, a GitHubra. Ez lehetőséget ad a lelkes érdeklődőknek és a programozástörténet kutatóinak, hogy betekintést nyerjenek ennek a különleges nyelvnek a belső működésébe. Akik rendelkeznek megfelelő SPITBOL ismeretekkel és türelemmel, akár meg is próbálkozhatnak a fordítóprogram újraélesztésével. Majd saját, „udvarias” INTERCAL programok írásával. Ez azonban garantáltan nem lesz egy egyszerű feladat.

Miért érdekes egy ilyen „használhatatlan” és szándékosan bonyolult programozási nyelv?

Felmerülhet a kérdés, miért foglalkozik bárki egy olyan programozási nyelvvel, amelyet kifejezetten arra terveztek, hogy használhatatlan legyen. Az INTERCAL és a hozzá hasonló ezoterikus nyelvek azonban több szempontból is érdekesek. Egyrészt egyfajta görbe tükröt tartanak a „komoly” programozási nyelvek és a szoftverfejlesztés világa elé. Parodizálják a bonyolult szintaktikákat és a túlzott formalizmust. Másrészt intellektuális kihívást jelentenek. Olyan logikai fejtörők, amelyek megoldása sajátos gondolkodásmódot igényel.

Emellett az INTERCAL fontos szerepet játszik a számítástechnika folklórjában és a programozási nyelvek történetének megértésében. Megmutatja a korai idők kísérletező kedvét. Valamint azt, hogy a programozás nemcsak tudomány, hanem egyfajta művészet és kreatív önkifejezés is lehet. Az emberi olvashatatlanság mint tervezési cél egyedi perspektívát kínál.

Összegzés: Az INTERCAL, egy programozási tréfa, ami túlélte az idő próbáját és most újraéledhet

Az INTERCAL, bár sosem volt kereskedelmi forgalomban kapható vagy széles körben használt programozási nyelv, egyfajta kultikus státuszt vívott ki magának a programozók körében. Az 1972-es létrehozása óta a számítástechnikai humor és az extrém programozási kihívások szimbólumává vált. A fordítóprogram forráskódjának mostani megjelenése a GitHubon egyfajta ajándék a számítástechnika története és az ezoterikus nyelvek iránt érdeklődők számára. Lehetőséget ad arra, hogy egy új generáció is megismerkedjen ezzel a bizarr, de valahol mégis lenyűgöző programozási „szörnyszülöttel”. Az INTERCAL egy emlékeztető arra, hogy a technológia világában a kreativitásnak és az abszurd humornak is helye van.

Leave a Reply

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük