🔥

Тред (Чарльза Доджсона)


Некоторые современные исследования Гипотезы Лингвистической Относительности показывают явные корелляции между выразительным инструментарием языка программирования и предпочтениями программистов.

В этой связи особенно важно отметить стилистическую ценность мультипарадигменных языков в решении одной весьма известной проблемы, а именно: Expression Problem. en.wikipedia.org/wiki/Expressio…

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

И современное состояние JavaScript вплотную приблизило нас к решению этой задачи. Развитый инструментарий Прототипного Наследования в комбинации с Функциональной Природой позволяет использовать уже известные решения: Классы Типов, Мультиметоды и даже Категорные Суммы.

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

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

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

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

Отсюда видно, что в этой частности мы остаёмся в рамках проблем разрешимости, и в том числе в рамках теоремы Гёделя о неполноте.