Найти тему
lemour.lol [🐜🚫]

Чёрный Пентагон и «курица»: об эзотерических языках программирования

Оглавление

Ээ... Давно не виделись? Ближе к делу.

Эзотерические языки программирования — это языки программирования, созданные не для практического применения, а чтобы доказать возможность реализации какой-то идеи или шутки ради. Проще говоря, это развлечение для гиков-ботаников в очках с толстыми стеклами, у которых нет личной жизни, коим я и являюсь, потому пишу эту статью.

В этой статье разберем несколько эзотерических языков, которые показались мне наиболее интересными. Возможно выпущу вторую часть, если вам будет это интересно.

1. Malbolge — язык для мазохистов

Язык, придуманный для того, чтобы быть самым сложным. Язык, названный в честь 8-го круга ада Данте. Malbolge — это язык для тех, кто не ищет простых путей.

Даже сам создатель языка не знает, по какому принципу работает его творение. Код для «Hello World» на Malbolge смогли получить с помощью специальной программы лишь спустя два года после создания языка. Для справки, выглядит он так:

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Верно, это просто бессмысленный набор символов. В этом и его смысл.

2. INTERCAL — самый первый

-2

Хотите, чтобы программа требовала от вас вежливости? Хотите, чтобы коды ошибок пестрили отсылками к «Алисе в стране чудес»? Тогда вас заинтересует INTERCAL — самый первый эзотерический язык программирования. Этот язык разработан в 1972 году двумя студентами и сам по себе является пародией на популярные языки того времени.

В документации INTERCAL есть собственные названия для служебных символов: «"» — это кроличьи ушки, «.» — пятно, ' — искра и т. д. Коды ошибок зашифрованы так, что часто без справочника понять их нельзя. Например, E127: «Говорить „абракадабра“ без волшебной палочки совершенно бесполезно» — указывает на то, что стандартная библиотека не подключена, а E252: «Я забыл, что я собирался сказать» — на то, что память переполнена.

В INTERCAL есть идентификатор PLEASE — если его в программе слишком мало или слишком много, то она просто откажется запускаться. Никакой другой функции PLEASE не несет.

Забавная штука, правда?

3. Whitespace — разве тут что-то есть?

-3

Если вы увидите программу на этом языке... вы её не увидите. Суть в том, что Whitespace использует только три символа — пробел, отступ (Tab) и перевод строки (Enter). Остальные символы просто игнорируются компилятором, то есть используются в качестве комментариев.

Из-за такого решения код на Whitespace можно буквально спрятать внутри кода на другом языке, что довольно полезно. Не вдаваясь в скучные подробности синтаксиса, это все, что о нем можно рассказать.

4. Black Pentagon — АААААА ЧЕРНЫЙ ПЕНТАГОН

-4

Нет, это не то о чем вы подумали, пентагон — это вообще-то геометрическая фигура. Язык получил такое название потому, что весь код на нем состоит из картинок пентагона с различным содержимым. Вот, например, «Hello World»:

-5

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

5. Chicken — курица, курица, курица

-6

Курица, курица?

Единственное слово, которое используется в этом языке — «chicken». Значение зависит от количества «chicken» в строке. Да, код на этом языке буквально выглядит так:

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken

Вы любите куриц?

Пока все.

Ставьте лайки, подписывайтесь на канал, все дела, или как там эти блогеры говорят. До скорого!

...если я опять не пропаду на год, лол