WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Эзотерический язык программирования — язык программирования, разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи (так называемое «доказательство концепции», англ. proof of concept), в качестве произведения программного искусства[en] или в качестве шутки (компьютерного юмора).

Многие эзотерические языки придумываются для развлечения, часто они пародируют «настоящие» или являются абсурдным воплощением «серьёзных» концепций программирования. Некоторые эзотерические языки нарочно ограничены (как, например, язык HQ9+), другие являются тьюринг-полными, то есть языками общего назначения. Общее свойство, присущее любому эзотерическому языку — текст программы на нём понятен лишь «посвящённому» либо непонятен вообще, потому что для составления программы нужно написать программу на обычном языке. В то время как разработчики «реальных» языков программирования стараются сделать синтаксис максимально понятным, а программирование — удобным, создатели эзотерических языков обычно ставят перед собой противоположные задачи.

На практике такие языки, как правило, бесполезны, однако программирование на некоторых из них является неплохой тренировкой. Эзотерические языки нередко включают в список разрешённых языков на конкурсах по программированию.

Классы некоторых эзотерических языков

Среди INTERCAL-подобных языков, основная идея которых — нарочито максимальное отличие от существующих языков, известен язык FALSE.

Большой класс составляют Brainfuck-подобные языки, ориентированные на сокращение синтаксиса (оригинальный Brainfuck имеет 8 команд) при сохранении тьюринг-полноты), среди таковых CaneCode, Ook! (язык орангутанов), COW (язык парнокопытных), Brainfork (многозадачный Brainfuck), f*ckf*ck, DoubleFuck, Whitespace, Spoon, LOLCODE, HQ9+ (не полон по Тьюрингу).

В отдельный класс выделяются языки, использующие многомерные представления программ: двумерные Byter, Befunge, Befunge-93 (двумерный, не тьюринг-полный), одномерный Unefunge, трёхмерный Trefunge, четырёхмерный 4DL и использующий цветовое кодирование Piet.

Ещё один класс составляют языки, основанные на копировании собственного кода — Smetana, Smith, Muriel.

Языки-«чёрные ящики», такие как Malbolge и Alpaca, создаются с целью затруднить написание кода.

Ряд языков реализуют «литературный» синтаксис, таковы Chef (рецепты), Shakespeare (шекспировские пьесы), Haifu (стихотворения хокку), ArnoldC (фразы Арнольда Шварценеггера), FiM++ (письма Принцессе Селестии).

Язык Var’aq, основанный на логике расы клингонов из сериала «Звёздный путь» относят к классу языков с «нечеловеческой логикой».

Некоторые другие языки, созданные с эзотерическими целями: Cool, GOTO++, Lithp, paranoid, Sartre, Simple, Whenever, smilescript, emoticon, iot, Lazy K, Beatnik, reMorse.

Иногда в категорию эзотерических относят также языки, созданные для проверки математических концепций, такие как Thue и Unlambda.

Среди языков, созданных для других целей, иногда упоминаемых как эзотерические — P′′, QuakeC, MC++, Автокод «Инженер» (низкоуровневый мнемокод для компьютера «Минск»).

Ссылки


Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии