Первично правило, а не объект
Нам кажется, что мир состоит из предметов: стол, дерево, человек, планета. Но чем ближе смотришь, тем меньше находишь предметов.
Работает; на этом собран сайт
- элементы
- Сущности с полями — заметки в обычных текстовых файлах. И набор правил, лежащий отдельно от них.
- правило
- Если сущность такого типа, связана так и у неё такие поля — отрендерить вот так. Страниц не существует как объектов; правило и данные лежат порознь.
- форма
- Сайт, который вы читаете. Меняешь одно правило — и тот же самый текст начинает жить иначе: другой адрес, другой шаблон, другое место в навигации. Я не редактирую страницы, я меняю физику маленькой вселенной.
- контроль
- Сущность, не попавшая ни под одно правило, не возникает вовсе: её нет ни на сайте, ни в карте сайта, ни в поиске. Это проверяется сборкой — она просто ничего не создаёт. Значит страница действительно не объект, иначе она существовала бы и без правила.
Чего это не доказывает
Ничего про устройство мира. Сходство с тем, как физика описывает материю через поля и взаимодействия, — аналогия устройства, а не утверждение о реальности. Отсюда до квантовой психологии один шаг, и этот шаг я не делаю.
Откуда пришла мысль
Когда я объясняю движок, я обычно говорю: статический сайт, без базы данных, поиск по умолчанию. Это понятный вход, и он про другое.
На самом деле всё началось с вопроса, который я долго не решался задавать вслух, потому что рассуждения о природе реальности — хождение по тонкому льду: физика элементарных частиц давно стала предметом профанации, и от неё до квантовой психологии один неосторожный шаг.
Вопрос такой: что первично — объект или правило? В школе кажется, что мир состоит из предметов. Но в современной физике базовые сущности — не объекты, а поля, взаимодействия и ограничения. Электрон не шарик. Он то, что следует из правил.
Я попробовал это в мелком масштабе, где можно проверить. Сделал так, что страниц нет. Есть правила, и страница не существует, а вычисляется.
Что вышло дальше
Каждый раз, когда я меняю правила и вижу, как тот же контент начинает жить по-другому, случается тот самый момент узнавания. Это не доказательство идеи — это её частный случай. Зато его можно потрогать, а идею нельзя.
Побочное следствие оказалось сильнее, чем я ожидал: если правила лежат отдельно и напечатаны, то спорить можно с ними, а не с результатом. Ошибка перестаёт быть вопросом вкуса.