Interested Article - Эзотерический язык программирования
- 2020-05-28
- 1
Эзотерический язык программирования — язык программирования , разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи (так называемое « доказательство концепции », англ. 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 , , (низкоуровневый мнемокод для компьютера « Минск »).
Примечания
- . yopta.space . Дата обращения: 6 марта 2022. 6 марта 2022 года.
Ссылки
- (англ.)
- 2020-05-28
- 1