Skip to content

Идея

Ivan Zolotarev edited this page Apr 8, 2017 · 8 revisions

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

Эзотерический полиглот отличается от остальных только тем, что в его составе нет программ на нормальных языках. Только эзотерика, только хардкор! Hell yeah :)

Полиглот, написанный мной в 2013 году, выполняет весьма простую работу: выводит на печать фразу %название_языка% program, но выглядит (надеюсь) интригующе. Написан он на 7 языках, в числе которых и Malbolge, почитаемый некоторыми как самый сложный язык программирования в мире.

Если задуматься, способ написания простого эзотерического полиглота лежит на поверхности. Все использованные языки имеют синтаксис, состоящий из односимвольных инструкций. Основная задача при таком подходе заключается в том, чтобы исходники на отдельных языках оставались корректными в целом. Все портит Malbolge. Исходник, написанный на нем, может содержать любые печатные символы от ! до ~. Поскольку символы, используемые для записи программ на остальных языках, входят в этот диапазон, то любая инструкция на любом ином языке должна быть корректной инструкцией для Malbolge. Именно он задает общий ритм, так давайте же с него и начнем.

Clone this wiki locally