Сетевой научный журнал "Философские проблемы
информационных технологий
и киберпространства" (ISSN:2305-3763)

Блог главного редактора

Следование правилу и эзотерические языки программирования

Наткнувшись в сети на исходный код языка Malbolge, я подумал: "Жаль, что Л. Витгенштейн не дожил до наших дней".   В философской среде широко известен аргумент австрийско-британского философа против "приватного языка". Смысл аргумента состоит в том, что наличие правил в языке раскрывает его практический характер, связанный с возможностью повторения одних и тех же действий и показывает его укорененность в культурных и социальных контекстах. Витгенштейн убежден, что только практика совместного употребления обосновывает языковые правила. Конечно, языки программирования – не вполне языки, это лишь формальные символические системы для записи машинных команд. И практика здесь носит человеко-машинный характер. Но все-таки... Бен Олмстед в 1998 изобрел язык Мalbolge (название происходит от девятого круга ада Данте),  который должен был быть максимально сложным для использования в программировании (!) . То есть цель была обратной цели любой знаково-символической или сигнальной системы. (Намеренное шифрование не в счет :)).

Коммуникативная практика сообщества программистов приводила к появлению почти обыденного интуитивно понятного синтаксиса. Например, для вывода на экран "Hello, world!" :
#!/usr/bin/perlprint "Hello, world!\n"
или
Sub Main()
  print "Hello, World!"
End Sub
На Malbolge та же самая команда выглядит так:
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Эта абракадабра (кодом это трудно назвать) и есть подлинная причина создания языка. То есть отрицается постулат Витгенштейна, что правил грамматики недостаточно, чтобы мотивировать само говорение. Безумные правила синтаксиса Malbolge (троичная система  счисления, три регистра, побитовая операция Crazy, плюс таблица для перевода символов) стали коммуникативным актом по отношению к сообществу программистов. Единственными, кто не оценил «адское» изящество кода, были машины.