Езотери́чні мо́ви програмува́ння — вид мов програмування, не призначених для практичного застосування. Зразок .
Езотеричні мови придумуються для розваги, часто вони пародіюють «справжні» або є абсурдним втіленням «серйозних» концепцій програмування. Деякі езотеричні мови спеціально обмежені, (як, наприклад, мова ), інші — універсальні і володіють тюрінговою повнотою. Загальна властивість будь-якої езотеричної мови — текст програми на ній зрозумілий лише «обізнаному». Тоді як розробники «реальних» мов програмування прагнуть зробити синтаксис максимально зрозумілим, а програмування — зручним, творці езотеричних мов зазвичай розв'язують протилежну задачу.
В цілому такі мови позбавлені користі, проте програмування деякими з них є непоганим тренуванням. Езотеричні мови нерідко включають у список дозволених мов на конкурсах з програмування.
Історія
Найпершим і досі канонічним прикладом езотеричної мови програмування є INTERCAL, розроблений у 1972 році Доном Вудсом і Джеймсом М. Лайоном, які заявили, що їхнім наміром було створити мову програмування, не схожу на жодну з відомих їм. Вона пародіювала елементи відомих на той час мов програмування, таких як Фортран, COBOL і мова асемблера.
Протягом багатьох років INTERCAL був представлений лише паперовими копіями посібника INTERCAL. Його відродження в 1990 році у вигляді реалізації на мові C під Unix стимулювало хвилю інтересу до навмисного проєктування езотеричних комп'ютерних мов.
У 1993 році Воутер ван Оортмерсен створив FALSE, невелику стек-орієнтовану мову програмування з синтаксисом, розробленим таким чином, щоб зробити код за своєю суттю затуманеним, заплутаним і нечитабельним. Її компілятор має розмір лише 1024 байти. Це надихнуло Урбана Мюллера на створення ще меншої мови, сумнозвісної Brainfuck, яка складається лише з восьми розпізнаваних символів. Разом з Befunge Кріса Прессі (як FALSE, але з двовимірним покажчиком інструкцій), Brainfuck зараз є однією з найкраще підтримуваних езотеричних мов програмування, з канонічними прикладами мінімальних тарпітів Тьюрінга і безглуздо заплутаних мовних особливостей. Brainfuck відноситься до сімейства P′′ машин Тюрінга.
Список деяких езотеричних мов
- INTERCAL — подібні
- INTERCAL
- FALSE
- Brainfuck
- (мова орангутанів)
- (мова парнокопитних)
- Brainfork (багатозадачний Brainfuck)
- Whitespace
- Фунгеоїдні
- Befunge (двомірний)
- (двомірний не повний за Тюрінгом)
- (одновимірний)
- (тривимірний)
- (чотиривимірний)
- (з колірним кодуванням)
- Мови, створені для перевірки математичних концепцій
- SKRYPT
- Засновані на копіюванні власного коду
- Мови — «Чорні ящики»
- З літературним синтаксисом
- (рецепти)
- Shakespeare (Шекспірівські п'єси)
- (вірші хокку)
- З нелюдською логікою
- (логіка раси Клінгонів з серіалу «Star Trek»)
- Мови, що створювалися для інших цілей, але такі, що часто наводяться в списках езотеричних
- Інші
- — «Програмування знизу до верху навскоси»
- FRACTRAN — запропонована Джоном Конвеєм мова програмування, в якій програма має вигляд списку додатних дробів.
Посилання
- Danger Mouse [ 7 жовтня 2006 у Wayback Machine.]
- Повніша версія попередньої статті на rsdn.ru [ 26 жовтня 2006 у Wayback Machine.]
- Matthew Fuller, Software Studies, MIT Press, 2008
- Eric S. Raymond (1996). The New Hacker's Dictionary. MIT Press. с. 258. ISBN .
- Woods, Donald R.; Lyon, James M. (1973), , Muppetlabs.com, архів оригіналу за 20 лютого 2009, процитовано 24 квітня 2009
- Interview with Wouter van Oortmerssen. esoteric.codes (англ.). 1 липня 2015. Процитовано 5 квітня 2023.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ezoteri chni mo vi programuva nnya vid mov programuvannya ne priznachenih dlya praktichnogo zastosuvannya Zrazok Ezoterichni movi pridumuyutsya dlya rozvagi chasto voni parodiyuyut spravzhni abo ye absurdnim vtilennyam serjoznih koncepcij programuvannya Deyaki ezoterichni movi specialno obmezheni yak napriklad mova HQ9 inshi universalni i volodiyut tyuringovoyu povnotoyu Zagalna vlastivist bud yakoyi ezoterichnoyi movi tekst programi na nij zrozumilij lishe obiznanomu Todi yak rozrobniki realnih mov programuvannya pragnut zrobiti sintaksis maksimalno zrozumilim a programuvannya zruchnim tvorci ezoterichnih mov zazvichaj rozv yazuyut protilezhnu zadachu V cilomu taki movi pozbavleni koristi prote programuvannya deyakimi z nih ye nepoganim trenuvannyam Ezoterichni movi neridko vklyuchayut u spisok dozvolenih mov na konkursah z programuvannya IstoriyaNajpershim i dosi kanonichnim prikladom ezoterichnoyi movi programuvannya ye INTERCAL rozroblenij u 1972 roci Donom Vudsom i Dzhejmsom M Lajonom yaki zayavili sho yihnim namirom bulo stvoriti movu programuvannya ne shozhu na zhodnu z vidomih yim Vona parodiyuvala elementi vidomih na toj chas mov programuvannya takih yak Fortran COBOL i mova asemblera Protyagom bagatoh rokiv INTERCAL buv predstavlenij lishe paperovimi kopiyami posibnika INTERCAL Jogo vidrodzhennya v 1990 roci u viglyadi realizaciyi na movi C pid Unix stimulyuvalo hvilyu interesu do navmisnogo proyektuvannya ezoterichnih komp yuternih mov U 1993 roci Vouter van Oortmersen stvoriv FALSE neveliku stek oriyentovanu movu programuvannya z sintaksisom rozroblenim takim chinom shob zrobiti kod za svoyeyu suttyu zatumanenim zaplutanim i nechitabelnim Yiyi kompilyator maye rozmir lishe 1024 bajti Ce nadihnulo Urbana Myullera na stvorennya she menshoyi movi sumnozvisnoyi Brainfuck yaka skladayetsya lishe z vosmi rozpiznavanih simvoliv Razom z Befunge Krisa Pressi yak FALSE ale z dvovimirnim pokazhchikom instrukcij Brainfuck zaraz ye odniyeyu z najkrashe pidtrimuvanih ezoterichnih mov programuvannya z kanonichnimi prikladami minimalnih tarpitiv Tyuringa i bezgluzdo zaplutanih movnih osoblivostej Brainfuck vidnositsya do simejstva P mashin Tyuringa Spisok deyakih ezoterichnih movINTERCAL podibni INTERCAL FALSE Brainfuck mova orangutaniv mova parnokopitnih Brainfork bagatozadachnij Brainfuck Whitespace Fungeoyidni Befunge dvomirnij dvomirnij ne povnij za Tyuringom odnovimirnij trivimirnij chotirivimirnij z kolirnim koduvannyam Movi stvoreni dlya perevirki matematichnih koncepcij SKRYPT Zasnovani na kopiyuvanni vlasnogo kodu Movi Chorni yashiki Malbolge Z literaturnim sintaksisom recepti Shakespeare Shekspirivski p yesi virshi hokku Z nelyudskoyu logikoyu logika rasi Klingoniv z serialu Star Trek Movi sho stvoryuvalisya dlya inshih cilej ale taki sho chasto navodyatsya v spiskah ezoterichnih APL SNOBOL MC dlya komp yuteriv Minsk Inshi Programuvannya znizu do verhu navskosi FRACTRAN zaproponovana Dzhonom Konveyem mova programuvannya v yakij programa maye viglyad spisku dodatnih drobiv HQ9 PosilannyaDanger Mouse 7 zhovtnya 2006 u Wayback Machine Povnisha versiya poperednoyi statti na rsdn ru 26 zhovtnya 2006 u Wayback Machine Esoteric Matthew Fuller Software Studies MIT Press 2008 Eric S Raymond 1996 The New Hacker s Dictionary MIT Press s 258 ISBN 978 0 262 68092 9 Woods Donald R Lyon James M 1973 Muppetlabs com arhiv originalu za 20 lyutogo 2009 procitovano 24 kvitnya 2009 Interview with Wouter van Oortmerssen esoteric codes angl 1 lipnya 2015 Procitovano 5 kvitnya 2023