Сон програмиста

Мне приснилось, что я изобрел новый, совершенно потрясающий стиль программирования.

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

Смысл новой концепции был таков.

Программа сильно распухает в объемах, потому что в ней используются длинные мнемонические идентификаторы. От этого надо уходить. Вот в перле, например, часто используется такая переменная, как `$_`, которая каждый раз означает разное. Я же додумался, что было бы чертовски эффективно использовать символ `|` Этот символ — самый узкий из всех символов. Поэтому программа получится наиболее компактной.

Этот символ надо использовать везде — и в качестве переменных, и в качестве аргументов функций. Если у функции несколько аргументов, то надо использовать кэрринг и сводить ее к нескольким функциям с одним аргументом. В конце концов, мне удалось даже строго математически доказать, что любую программу на любом языке можно переписать с использованием одного единственного идентификатора `|` для всех переменных. Доказательство было очень коротким, в одну строчку, и очень изящным. К сожалению, проснувшись, не смог его воспроизвести. Используя примитивный препроцессор, который я написал во сне за пять минут, мне удалось добиться, чтобы символ `|` использовался также для названия всех классов и названия всех функций, и всех методов классов, и всех других идентификаторов, используемых в данном языке (язык при этом неважен, препроцессор не вникал в семантику, а просто по хитрому правилу заменял все найденные `|` на обычные иденитфикаторы, чтобы все это потом нормально скомпилировалось). Какую именно переменную, класс или функцию мы имеем в виду, написав `|` — зависело от контекста. Например, при первом упоминании | имеется в виду первый по счету класс, при втором упоминании — второй по счету класс, и так далее. Просто описывай классы в том порядке, в котором будешь использовать, и все само собой получится. Аналогично с функциями, и т.д.

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

И вот я, наконец, проснулся, и побежал к компьютеру, пытаясь удержать в голове такую замечательную парадигму программирования и хоть что-нибудь успеть записать, потому что сны я быстро забываю.

Я срочно открыл нотпад и дрожащими руками записал, как будет выглядеть вызов безымянной функции от единственного аргумента |

(|)

Вглядевшись, я узнал что-то знакомое в этой картинке. Это было потрясением. До чего жестоко и коварно мое подсознание. Оно решило меня оскорбить. Оно могло бы просто приснить мне жопу. Но нет, это было бы слишком грубо и примитивно! Оно решило добиться, чтобы я сам себе нарисовал жопу, не подозревая об этом до последнего момента! Оно начало издалека. И блестяще подстроило мне ловушку, в которую я попался, как последний лох. :`(

Временами я слышу, как где-то в глубине души раздаются злорадные смешки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *