-
Notifications
You must be signed in to change notification settings - Fork 5
Идея
В программировании полиглот - это некая программа, корректно написанная одновременно на нескольких языках программирования. Как правило, его вывод не зависит от того, интерпретатор какого конкретно языка из набора его исполняет. В крайнем случае вывод строится по некоему шаблону. Посмотреть примеры подобных программ можно в Вики.
Эзотерический полиглот отличается от остальных только тем, что в его составе нет программ на нормальных языках. Только эзотерика, только хардкор! Hell yeah :)
Полиглот, написанный мной в 2013 году, выполняет весьма простую работу: выводит на печать фразу %название_языка% program
, но выглядит (надеюсь) интригующе. Написан он на 7 языках, в числе которых и Malbolge, почитаемый некоторыми как самый сложный язык программирования в мире.
Если задуматься, способ написания простого эзотерического полиглота лежит на поверхности. Все использованные языки имеют синтаксис, состоящий из односимвольных инструкций. Основная задача при таком подходе заключается в том, чтобы исходники на отдельных языках оставались корректными в целом. Все портит Malbolge. Исходник, написанный на нем, может содержать любые печатные символы от ! до ~. Поскольку символы, используемые для записи программ на остальных языках, входят в этот диапазон, то любая инструкция на любом ином языке должна быть корректной инструкцией для Malbolge. Именно он задает общий ритм, так давайте же с него и начнем.