Топ питань
Часова шкала
Чат
Перспективи

Езотеричні мови програмування

мова програмування для тестування розробки мови програмування З Вікіпедії, вільної енциклопедії

Remove ads

Езотери́чні мо́ви програмува́ння — вид мов програмування, не призначених для практичного застосування. Зразок комп'ютерного гумору.

Езотеричні мови придумуються для розваги, часто вони пародіюють «справжні» або є абсурдним втіленням «серйозних» концепцій програмування. Деякі езотеричні мови спеціально обмежені, (як, наприклад, мова HQ9+), інші — універсальні і володіють тюрінговою повнотою. Загальна властивість будь-якої езотеричної мови — текст програми на ній зрозумілий лише «обізнаному». Тоді як розробники «реальних» мов програмування прагнуть зробити синтаксис максимально зрозумілим, а програмування — зручним, творці езотеричних мов зазвичай розв'язують протилежну задачу.

У цілому такі мови позбавлені користі, проте програмування деякими з них є непоганим тренуванням на кшталт вирішення логічних головоломок або ігор розуму. Езотеричні мови нерідко включають у список дозволених мов на конкурсах з програмування.

Remove ads

Історія

Узагальнити
Перспектива

Першим і досі канонічним прикладом езотеричної мови програмування є INTERCAL[1], розроблений у 1972 році Доном Вудсом і Джеймсом М. Лайоном, які заявили, що їхнім наміром було створити мову програмування, не схожу на жодну з відомих їм.[2][3] Вона пародіювала елементи відомих на той час мов програмування, таких як Фортран, COBOL і мова асемблера.

Протягом багатьох років INTERCAL був представлений лише паперовими копіями посібника INTERCAL. Його відродження в 1990 році у вигляді реалізації на мові C під Unix стимулювало хвилю інтересу до навмисного проєктування езотеричних комп'ютерних мов.

У 1993 році Воутер ван Оортмерсен створив FALSE, невелику стек-орієнтовану мову програмування з синтаксисом, розробленим таким чином, щоб зробити код за своєю суттю затуманеним, заплутаним і нечитабельним. Її компілятор має розмір лише 1024 байти[4]. Це надихнуло Урбана Мюллера на створення ще меншої мови, сумнозвісної Brainfuck, яка складається лише з восьми розпізнаваних символів. Разом з Befunge Кріса Прессі (як FALSE, але з двовимірним покажчиком інструкцій), Brainfuck зараз є однією з найкраще підтримуваних езотеричних мов програмування, з канонічними прикладами мінімальних тарпітів Тьюрінга і безглуздо заплутаних мовних особливостей. Brainfuck відноситься до сімейства P′′ машин Тюрінга.

Remove ads

Список деяких езотеричних мов

  • INTERCAL — подібні
  • Фунгеоїдні
    • Befunge (двомірний)
    • Befunge-93 (двомірний не повний за Тюрінгом)
    • Unefunge (одновимірний)
    • Trefunge (тривимірний)
    • 4DL (чотиривимірний)
    • Piet (з колірним кодуванням)
  • Мови, створені для перевірки математичних концепцій
  • Засновані на копіюванні власного коду
    • Smetana
    • SMITH
    • Muriel
  • Мови «Чорні ящики»
  • З літературним синтаксисом
  • З нелюдською логікою
  • Мови, що створювалися для інших цілей, але такі, що часто наводяться у списках езотеричних
    • APL
    • SNOBOL
    • Quake C
    • MC++
    • Автокод «ІНЖЕНЕР»(для комп'ютерів «Мінськ»)
  • Інші
    • Beatnik
    • СВН — «Програмування знизу до верху навскоси»
    • emoticon
    • FRACTRAN — запропонована Джоном Конвеєм мова програмування, у якій програма має вигляд списку додатних дробів.
    • GOTO++
    • HQ9+
    • iot
    • Lazy K
    • Lithp
    • paranoid
    • reMorse
    • SARTRE
    • SIMPLE
    • smilescript
    • Spaghetti
    • Whenever
Remove ads

Примітки

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads