Езотеричні мови програмування
Езотеричні мови програмування — вид мов програмування, не призначених для практичного застосування. Зразок комп'ютерного гумору.
Езотеричні мови придумуються для розваги, часто вони пародіюють «справжні» або є абсурдним втіленням «серйозних» концепцій програмування. Деякі езотеричні мови спеціально обмежені, (як, наприклад, мова HQ9+), інші — універсальні і володіють тюрінговою повнотою. Загальна властивість будь-якої езотеричної мови, — текст програми на ній зрозумілий лише «обізнаному». Тоді, як розробники «реальних» мов програмування прагнуть зробити синтаксис максимально зрозумілим, а програмування — зручним, творці езотеричних мов зазвичай вирішують протилежну задачу.
В цілому такі мови позбавлені користі, проте, програмування на деяких з них є непоганим тренуванням. Езотеричні мови нерідко включають у список дозволених мов на конкурсах з програмування.
Список деяких езотеричних мов
- INTERCAL — подібні
- INTERCAL
- FALSE
- Brainfuck
- Brainfork (багатозадачний Brainfuck)
- F*ckF*ck
- DoubleFuck
- Whitespace
- Фунгеоїдні
- Befunge (двомірний)
- Befunge-93 (двомірний не повний за Т'юрінгом)
- Unefunge (одновимірний)
- Trefunge (тривимірний)
- 4DL (чотиривимірний)
- Piet (з колірним кодуванням)
- Мови, створені для перевірки математичних концепцій
- Засновані на копіюванні власного коду
- Мови — «Чорні ящики»
- З літературним синтаксисом
- Chef (рецепти)
- Shakespeare (Шекспірівські п'єси)
- Haifu (вірші хокку)
- З нелюдською логікою
- var'aq (логіка раси Клінгонів з серіалу «Star Trek»)
- Мови, що створювалися для інших цілей, але такі, що часто наводяться в списках езотеричних
- APL
- SNOBOL
- Quake C
- MC++
- Автокод «ІНЖЕНЕР»(для комп'ютерів «Мінськ»)
- Інші
Посилання
- Danger Mouse
- Огляд ЕМП в журналі «Компьютерра»
- Повніша версія попередньої статті на rsdn.ru
- Esoteric