Ezotéria és IT - Ezoterikus programnyelvek

2014-06-25

Az „ájtísokról”, különösképpen a programozókról azt tartják, hogy kockák: egész nap ülnek a számítógép előtt és püfölik. Ráadásul az átlagember semmit nem ért abból, amit csinálnak. Egyszóval unalmasak, és semmi humorérzékük...

Mr.GeekAz „ájtísokról”, különösképpen a programozókról azt tartják, hogy kockák: egész nap ülnek a számítógép előtt és püfölik. Ráadásul az átlagember semmit nem ért abból, amit csinálnak. Egyszóval unalmasak, és semmi humorérzékük…

Ezt a sztereotípiát szeretnénk eloszlatni és megmutatni, hogy a programozóknak ugyan sajátos a humoruk, de van nekik!

Ennek bizonyítására elég csak alaposabban megnézni az ezoterikus programozási nyelveket.

A jó programozási nyelveket többnyire ugyanazok a tulajdonságok jellemzik: könnyú használhatóság, gyors tanulhatóság, strukturáltság. Valós problémákat megoldásában segítenek, a szintaxisuk átlátható és logikus, az elérhető implementációk pedig bugmentesek és gyorsak.

Vannak azonban, akik éppen olyan nyelveket fejlesztenek, melyekre a fentiek közül semmi sem igaz. Ezekből mutatunk most be néhányat. Ezek az ezoterikus programnyelvek, melyek nem valós, alkalmazások létrehozására irányulnak, használatuk bonyolult, különleges vagy vicces. Egy ilyen nyelv célja lehet kutatás, új, érdekes koncepciók bevezetése, a programozhatóság megnehezítésére való törekvés, vagy egyszerúen csak a humor.

A legelterjedtebb ezoterikus nyelvek közé tartozik a Brainfuck, a Malbolge és a Whitespace. A humoros témájú nyelvek közül pedig a LOLCODE, a Chef és a Shakespeare a legismertebb.

Brainfuck egy nyolc utasítást (matematikai jelet) tartalmazó Turing-teljes programozási nyelv, mely sok más esolang, azaz ezoterikus programnyelv alkotóját inspirálta. A nyelvet Urban Müller készítette, azzal a céllal, hogy olyan Turing-nyelvet hozzon létre, amihez a lehető legkisebb fordítóprogram szükséges.

 

A Malbolge programnyelv tervezőjének egyetlen célkitúzése az volt, hogy olyan nyelvet hozzon létre, amelyben teljességgel lehetetlen bármilyen hasznos programot írni. Ez a küldetés olyannyira sikeres volt, hogy a specifikáció publikálása után két évnek kellett eltelnie, mire megjelent az első Malbolge program.

 

A Whitespace nyelvet - talán nem véletlenül - éppen bolondok napján adták ki. A legtöbb nyelv figyelmen kívül hagyja a whitespace-eket, azaz azokat a karaktereket, amelyek nem láthatóak a szövegben, viszont valamilyen egyedi funkcióval bírnak. A Whitespace értelmező ezzel szemben csak a szóköz, tabulátor és a sortörés karaktereket veszi figyelembe. Ennek a tulajdonságnak érdekes következménye, hogy egy másik nyelv whitespace karakterei könnyedén tartalmazhatnak egy Whitespace programot. Akár úgy is, hogy ugyanazt a programot valósítják meg.

Whitespace

 

A LOLCODE megalkotói szerint a programozás nehézségét az adja, hogy a szintaxis, az utasítások furcsa nyelven vannak, és ezeket nem könnyú megérteni. Ezért ez az nyelv az informatikai, illetve a chat szleng ismert kifejezéseiből épül fel.

 

A Chef az előbbiekkel szemben arra törekszik, hogy a forráskód egyben önállóan befogadható produktum is legyen. A Chef programok nemcsak hogy receptre hasonlítanak, de igény szerint meg is főzhetőek!

Chef

 

A Shakespeare programozási nyelv, az SPL (Shakespeare Programming Language) forráskódja nagyon szép és Shakespeare drámáinak szövegére hasonlít. Nincs semmilyen különös adatszerkezet vagy vezérlési szerkezet, kizárólag alapvető aritmetika és GOTO(!). Így azt is lehet mondani, hogy a nyelv ötvözi a BASIC kifejezőerejét az assembly felhasználóbarátságával.

Shakespeare

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 10 legfurcsább programnyelvről itt olvashatnak bővebben, és rengeteg hasonló nyelv található még a kiváló Esolangs.org wiki oldalon is.