Interested Article - Эзотерический язык программирования

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

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

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

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

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

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

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

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

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

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

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

Некоторые другие языки, созданные с эзотерическими целями: , , , , , , , , , , , , , .

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

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

Примечания

  1. . yopta.space . Дата обращения: 6 марта 2022. 6 марта 2022 года.

Ссылки

  • (англ.)


Источник —

Same as Эзотерический язык программирования