- Ezoterični jezici, ili esolangi, su eksperimenti osmišljeni da izazovu ljudsku logiku i prekrše pravila konvencionalnog programiranja.
- Mnogi od ovih jezika, uprkos svom apsurdnom ili minimalističkom izgledu, su Turing-potpuni, što omogućava izvođenje bilo kojeg matematičkog proračuna.
- Postoje varijacije koje transformiraju kod u recepte za kuhanje, predstave, apstraktnu umjetnost ili čak životinjske zvukove.

Kada razmišljamo o programiranju, prve stvari koje nam padaju na pamet su efikasnost, uvjerljiva logika i sintaksa koja, iako složena, ima za cilj da bude korisna. Međutim, postoji mračan i nevjerovatno zabavan kutak računarstva gdje je cilj upravo suprotan: stvoriti alate koji su prava glavobolja i guraju strpljenje svakog programera do apsolutne granice.
Ove projekte nazivamo esolangima. Nisu stvoreni za optimizaciju baza podataka ili pokretanje sljedeće viralne aplikacije, već kao složene podvale ili intelektualni izazovi . To su eksperimenti koji pokazuju kako se, uz malo domišljatosti i puno slobodnog vremena, pisanje softvera može transformirati u nadrealno, a ponekad i krajnje delirično iskustvo.
Legendarni Brainfuck i njegovi potomci
Ako govorimo o računarskoj ezoteriji, moramo se obavezno zaustaviti kod jezika Brainfuck, koji je 1993. godine kreirao Urban Müller . Ovaj jezik je praktično kultni klasik jer sve svodi na samo osam naredbi od jednog znaka. Programiranje ovdje je kao pokušaj dešifriranja TV statike; krećete se po memorijskoj traci ručnim dodavanjem i oduzimanjem vrijednosti, čineći da jednostavan "Hello World" izgleda kao tajni kod iz Hladnog rata.
Zbog njegovog utjecaja, pojavile su se varijacije koje proces čine još smiješnijim. Na primjer, Trollscript je dijalekt zasnovan na Brainfucku koji se instalira kao Ruby gem i koristi kombinacije "loo", "lol" i "llo" za izvršavanje instrukcija, opravdavajući svoje ime. Zatim tu je Ook!, gdje je vokabular ograničen na tri izraza inspirisana Bibliotekarom iz Terry Pratchettovog Discworlda: Ook., Ook! i Ook?, pretvarajući kod u vrlo ograničen, ali funkcionalan dijalog.
Apsurdna sintaksa: Od krava do kuhara
Neki programski jezici smatraju da su slova i brojevi previše dosadni. COW je odličan primjer, jer koristi varijacije riječi "moo" (kao što su MoO ili mOo) za upravljanje memorijom i operacijama. Jednostavna greška poput pritiska tipke Shift može uzrokovati pad cijelog programa bez upozorenja.
Ako više volite nešto sofisticiranije, Chef jezik vam omogućava da sakrijete programe unutar recepata za kuhanje . Ovdje su varijable sastojci, a koraci za izvršavanje koda su kulinarske upute. Tvorac, David Morgan-Mar, insistirao je da kod ne samo da mora raditi, već i izgledati primamljivo , spajajući gastronomiju s računarstvom na prilično neobičan način.
Umjetnost, prazni prostori i Danteov Pakao
Nadrealizam dostiže svoj vrhunac s Pietom, gdje kod nije tekst, već apstraktna umjetnička slika . Interpreter se kreće kroz bitmapu, analizirajući promjene u tonu i intenzitetu između 20 različitih boja kako bi odlučio koju akciju poduzeti. To je doslovno programiranje slikanjem.
Na drugom kraju spektra imamo Whitespace, jezik koji ignoriše sve vidljive znakove i razumije samo razmake, tabulatore i prijelome redova. Ovo omogućava programeru da sakrije radni kod unutar uvlačenja drugog jezika, kao što je JavaScript, a da to niko ne primijeti. A ako tražite pravu torturu, tu je Malbolge, nazvan po osmom krugu Danteovog Pakla . Posebno je dizajniran da onemogući pisanje korisnih programa, zahtijevajući dubinsko poznavanje kriptografije kako bi se spriječilo da kompajler izbaci grešku.
Pop kultura i delirične reference
Kreativnost ne poznaje granice, a neki programeri su u kod unijeli i svoje hobije. ArnoldC koristi poznate citate Arnolda Schwarzeneggera za svoje upute; na primjer, da biste završili metodu, morate napisati "HASTA LA VISTA, BABY". To je mješavina austrijske elegancije i grube sile primijenjene na programiranje.
Slično tome, Šekspirovski scenario transformiše kod u kompletnu predstavu , sa likovima, činovima i scenama gde uvrede i pohvale određuju vrednost varijabli. A na modernijem i lokalnom nivou, nalazimo MessiScript, argentinski dragulj gde izvršenje simulira akcije zvezde Lionela Messija . Kucanje "Messi gets it" za početak ili "goal!" za kraj procesa pretvara debugging u fudbalsku utakmicu.
Druge zanimljivosti i minimalizam
Postoje prijedlozi poput " Piletina", gdje je jedina dozvoljena riječ "piletina ", a operacija zavisi isključivo od toga koliko se puta riječ ponovi i koliko se puta red prekida. Također imamo LOLCODE, zasnovan na internet memovima o mačkama , koji koristi riječi poput "HAI" za početak ili "KTHXBYE" za zatvaranje programa, obuhvatajući suštinu weba u 2000-ima.
Ne možemo zaboraviti Grass, koji rekreira formiranje trave koristeći samo slova W, wyv, oa; reMorse, koji koristi Morzeov kod (tačke i crtice) za rad; ili dvodimenzionalne jezike poput Befunge, gdje se pokazivač može kretati u bilo kojem smjeru na ravni, stvarajući beskonačne petlje koje podsjećaju na vizualne lavirinte, ili Glass, koji kombinira objektno orijentirano programiranje s postfiksnom notacijom toliko kontraintuitivno da i sam autor priznaje da je implementacija na ovaj način idiotska.
Ovi esolangi nas uče da računarstvo nije samo produktivnost i optimizacija, već i prostor za igru i eksperimentisanje. Čak i ako ih nikada ne koristite u profesionalnom okruženju, razumijevanje njihovog funkcionisanja tjera nas da sagledamo unutrašnji rad mašine iz drugačije perspektive, podsjećajući nas da, na kraju krajeva, programiranje može biti i apsurdna forma umjetnosti i kreativni izlaz iz krutosti svakodnevnog rada.



