- Bahasa esoterik, atau esolang, ialah eksperimen yang direka untuk mencabar logik manusia dan melanggar peraturan pengaturcaraan konvensional.
- Kebanyakan bahasa ini, walaupun kelihatan tidak masuk akal atau minimalis, adalah Turing yang lengkap, membolehkan sebarang pengiraan matematik dilakukan.
- Terdapat variasi yang mengubah kod tersebut menjadi resipi masakan, drama, seni abstrak atau bunyi haiwan.

Apabila kita memikirkan tentang pengaturcaraan, perkara pertama yang terlintas di fikiran ialah kecekapan, logik yang menarik, dan sintaks yang, walaupun kompleks, bertujuan untuk menjadi berguna. Walau bagaimanapun, terdapat sudut gelap dan sangat menyeronokkan dalam sains komputer di mana matlamatnya adalah sebaliknya: untuk mencipta alatan yang benar-benar menyusahkan dan mendorong kesabaran mana-mana pembangun ke had mutlak.
Kami menggelar projek-projek ini sebagai esolang. Ia bukan dicipta untuk mengoptimumkan pangkalan data atau melancarkan aplikasi viral seterusnya, tetapi sebaliknya sebagai gurauan atau cabaran intelektual yang rumit . Ia adalah eksperimen yang menunjukkan bagaimana, dengan sedikit kepintaran dan banyak masa lapang, perisian penulisan boleh diubah menjadi pengalaman yang nyata dan kadangkala benar-benar mengigau.
Brainfuck yang legenda dan keturunannya
Jika kita bercakap tentang esoterisme komputer, kita perlu berhenti seketika di Brainfuck, yang dicipta pada tahun 1993 oleh Urban Müller . Bahasa ini boleh dikatakan sebagai klasik kultus kerana ia mengurangkan semuanya kepada hanya lapan arahan satu aksara. Pengaturcaraan di sini adalah seperti cuba mentafsir statik TV; anda menavigasi pita memori dengan menambah dan menolak nilai secara manual, menjadikan "Hello World" yang mudah kelihatan seperti kod rahsia Perang Dingin.
Disebabkan impaknya, variasi muncul yang menjadikan proses itu lebih mengarut. Contohnya, Trollscript ialah dialek berasaskan Brainfuck yang dipasang sebagai permata Ruby dan menggunakan kombinasi "loo," "lol," dan "llo" untuk melaksanakan arahan, selaras dengan namanya. Kemudian terdapat Ook!, di mana perbendaharaan kata terhad kepada tiga ungkapan yang diilhamkan oleh Pustakawan daripada Discworld Terry Pratchett: Ook., Ook!, dan Ook?, menjadikan kod tersebut sebagai dialog yang sangat terhad tetapi berfungsi.
Sintaks yang tidak masuk akal: Daripada lembu kepada tukang masak
Sesetengah bahasa pengaturcaraan menganggap huruf dan nombor terlalu membosankan. COW adalah contoh utama, kerana ia menggunakan variasi perkataan "moo" (seperti MoO atau mOo) untuk mengurus memori dan operasi. Kesilapan mudah seperti menekan kekunci Shift boleh menyebabkan keseluruhan program anda ranap tanpa amaran.
Jika anda lebih suka sesuatu yang lebih sofistikated, bahasa Chef membolehkan anda menyembunyikan program dalam resipi masakan . Di sini, pembolehubahnya ialah bahan-bahan, dan langkah-langkah untuk melaksanakan kod tersebut ialah arahan masakan. Penciptanya, David Morgan-Mar, menegaskan bahawa kod tersebut bukan sahaja perlu berfungsi, tetapi juga perlu kelihatan menyelerakan , menggabungkan gastronomi dengan pengkomputeran dengan cara yang agak luar biasa.
Seni, ruang kosong dan Inferno Dante
Surealisme mencapai kemuncaknya dengan Piet, di mana kodnya bukan teks, tetapi imej seni abstrak . Penterjemah menavigasi bitmap, menganalisis perubahan ton dan intensiti antara 20 warna berbeza untuk memutuskan tindakan yang perlu diambil. Ia secara literalnya seperti pengaturcaraan dengan melukis gambar.
Di hujung spektrum yang lain, kita mempunyai Whitespace, bahasa yang mengabaikan semua aksara yang kelihatan dan hanya memahami ruang, tab dan pemisah baris. Ini membolehkan pengaturcara menyembunyikan kod kerja dalam lekukan bahasa lain, seperti JavaScript, tanpa disedari oleh sesiapa. Dan jika anda mencari penyeksaan sebenar, terdapat Malbolge, yang dinamakan sempena bulatan kelapan Inferno Dante . Ia direka bentuk khusus untuk menjadikannya mustahil untuk menulis program yang berguna, memerlukan pengetahuan mendalam tentang kriptografi untuk mengelakkan pengkompil daripada memberikan ralat.
Budaya pop dan rujukan mengigau
Kreativiti tidak mengenal batas, dan sesetengah pembangun telah membawa hobi mereka ke dalam kod tersebut. ArnoldC menggunakan petikan terkenal daripada Arnold Schwarzenegger untuk arahannya; contohnya, untuk menamatkan kaedah, anda mesti menulis "HASTA LA VISTA, BABY". Ia merupakan gabungan keanggunan Austria dan kekerasan yang digunakan pada pengaturcaraan.
Sejajar dengan itu, skrip Shakespeare mengubah kod menjadi sebuah drama yang lengkap , dengan watak, babak dan babak di mana penghinaan dan pujian menentukan nilai pembolehubah. Dan pada peringkat yang lebih moden dan tempatan, kita dapati MessiScript, sebuah permata Argentina di mana pelaksanaannya mensimulasikan drama oleh bintang Lionel Messi . Menaip "Messi gets it" untuk memulakan atau "gol!" untuk menamatkan proses akan menjadikan penyahpepijatan sebagai perlawanan bola sepak.
Keingintahuan dan minimalisme lain
Terdapat cadangan seperti Chicken, di mana satu-satunya perkataan yang dibenarkan ialah "chicken ," dan operasi bergantung sepenuhnya pada berapa kali perkataan itu diulang dan barisnya terputus. Kami juga mempunyai LOLCODE, berdasarkan meme kucing internet , menggunakan perkataan seperti "HAI" untuk memulakan atau "KTHXBYE" untuk menutup program, merakam intipati web pada tahun 2000-an.
Kita tidak boleh melupakan Grass, yang mencipta semula pembentukan rumput hanya menggunakan huruf W, wyv, oa; reMorse, yang menggunakan kod Morse (titik dan sengkang) untuk beroperasi; atau bahasa dua dimensi seperti Befunge, di mana penunjuk boleh bergerak ke mana-mana arah pada satah, mewujudkan gelung tak terhingga yang menyerupai labirin visual, atau Glass, yang menggabungkan pengaturcaraan berorientasikan objek dengan notasi postfix yang begitu berlawanan dengan intuisi sehingga pengarangnya sendiri mengakui bahawa melaksanakannya dengan cara ini adalah bodoh.
Esolang-esolang ini mengajar kita bahawa pengkomputeran bukan sekadar tentang produktiviti dan pengoptimuman, tetapi juga ruang untuk bermain dan bereksperimen. Walaupun anda tidak pernah menggunakannya dalam suasana profesional, memahami cara ia berfungsi memaksa kita untuk melihat cara kerja dalaman mesin dari perspektif yang berbeza, mengingatkan kita bahawa, pada akhirnya, pengaturcaraan juga boleh menjadi bentuk seni yang tidak masuk akal dan saluran kreatif daripada ketegaran kerja harian.



