Изотерический язык программирования: различия между версиями
(Новая страница: «{{Понятие |Description=Язык программирования, разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи, в качестве произведения программного искусства или в к...») |
|||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 6: | Строка 6: | ||
На практике такие языки, как правило, бесполезны, однако программирование на некоторых из них является неплохой тренировкой. Эзотерические языки нередко включают в список разрешённых языков на конкурсах по программированию. | На практике такие языки, как правило, бесполезны, однако программирование на некоторых из них является неплохой тренировкой. Эзотерические языки нередко включают в список разрешённых языков на конкурсах по программированию. | ||
== Вольная классификация == | |||
Большинство эзотерических языков программирования можно отнести к определенным группам, в зависимости от целей и идей конкретного языка | |||
<graphviz> | |||
digraph G { | |||
layout=dot; | |||
node [shape="rect"]; | |||
graph[rankdir="LR"]; | |||
"Эзотерический язык программирования" [URL="Изотерический язык программирования"] ; | |||
"Эзотерический язык программирования"-> "Максимальное сокращение синтаксиса"; | |||
"Максимальное сокращение синтаксиса" -> "Whitespace", "COW", "Ook!", "Spoon"; | |||
"Эзотерический язык программирования"-> "Многомерное представление программ"; | |||
"Многомерное представление программ" -> "Befunge", "Trefunge", "4DL"; | |||
"Эзотерический язык программирования"-> "Копирование собственного кода"; | |||
"Копирование собственного кода" -> "Smith", "Muriel"; | |||
"Эзотерический язык программирования"-> "Максимальное усложнение написания программ"; | |||
"Максимальное усложнение написания программ" -> "Malbolge", "Alpaca"; | |||
"Эзотерический язык программирования"-> "Литературный синтаксис"; | |||
"Литературный синтаксис" -> "Chef", "Haifu", "Shakespeare"; | |||
"Эзотерический язык программирования"-> "Языки с нечеловеческой логикой"; | |||
"Языки с нечеловеческой логикой" -> "Var'aq"; | |||
"Эзотерический язык программирования"-> "Максимальное отличие от существующих языков программирования"; | |||
"Максимальное отличие от существующих языков программирования" -> "INTERCAL", "FALSE"; | |||
} | |||
</graphviz> |
Текущая версия на 22:25, 19 декабря 2024
Описание | Язык программирования, разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи, в качестве произведения программного искусства или в качестве шутки |
---|---|
Область знаний | Информатика |
Авторы | |
Поясняющее видео | |
Близкие понятия | |
Среды и средства для освоения понятия |
Многие эзотерические языки придумываются для развлечения, часто они пародируют «настоящие» или являются абсурдным воплощением «серьёзных» концепций программирования. Некоторые эзотерические языки нарочно ограничены (как, например, язык HQ9+), другие являются тьюринг-полными, то есть языками общего назначения. Общее свойство, присущее любому эзотерическому языку — текст программы на нём понятен лишь «посвящённому» либо непонятен вообще, потому что для составления программы нужно написать программу на обычном языке программирования. В то время как разработчики «реальных» языков программирования стараются сделать синтаксис максимально понятным, а программирование — удобным, создатели эзотерических языков ставят перед собой другие задачи.
На практике такие языки, как правило, бесполезны, однако программирование на некоторых из них является неплохой тренировкой. Эзотерические языки нередко включают в список разрешённых языков на конкурсах по программированию.
Вольная классификация
Большинство эзотерических языков программирования можно отнести к определенным группам, в зависимости от целей и идей конкретного языка