Дерево — в топку. 20 лет борьбы с иерархией в программной инженерии
«Дерево мешало. Лет 20.»
📜 Описание
Эта статья — детектив. История поиска, ошибок, прозрений. История о том, как я 20 лет боролся с деревьями (Rational Rose, XML, EVD) и в итоге победил, сформулировав метод: «Атомы + связи. Алфавит и индексы сбоку. Геометрия 6-го класса».
🗺️ Оглавление
Часть 1. Истоки: Естественность (1993 – 1996)
- 1993, МИЭМ: Дейкстра без деревьев — Как теория графов и метро заложили фундамент. Плоский список станций и рёбер. Никаких матриц.
- 1996, «Диасофт-Иншуранс»: Предтеча Храма — Проект по страхованию. Визуализация деревьями, хранение Key-Value (BTrieve). Свой ORM и дизайнер. «Мне это было естественно».
- BTrieve + DDF: Рождение паттерна — Data Definition Files — «вид сбоку». Плоский список + индексы.
- Выбор стратегии: BTrieve vs SQL — «Партнёрские отношения — это не про технологии».
Часть 2. Забвение: Плен стереотипов (2000 – 2015)
- «Гарант F1»: Поражение и вынужденная победа — EVD → иерархическая база ENDT. Потом — вынужденный переход на плоские таблицы из-за масштаба.
- Ад с CORBA — «Корбе древесность — ТОЖЕ НЕ НРАВИЛАСЬ!»
- EVD: Локальная победа (текст и оформление раздельно) — «Это было гениально». Сегменты (позиция, длина, стиль) — отдельно от текста. CoreText пришёл к этому позже.
- EVD: Добровольное рабство — «Я сделал его древесным. Хотя на меня никто не давил».
- Другие пленники: Кирилл Пугин и ANTLR — «В головах уже устойчиво засела древесная парадигма».
- Два крыла победы: «Гарант F1» и iГарант — Две платформы (клиент-сервер и iOS), один паттерн.
Часть 3. Освобождение: Храм (2015 – 2026)
- Отступление: Рациональное (Rational) давит — Четыре древесные реализации. «Дерево стояло как проклятье».
- ME 1.0: Отказ от иерархии в модели — Плоский список элементов. Явные ссылки (MELINK Original).
- ME 2.0: Ленивость как ключевое свойство — WL, HWL. «Пол-шага, которые изменили всё».
- Generation 2.0: Алгебра отношений — «"Обход дерева" был выкинут нахер как понятие!» Кантор, Колмогоров, Степанов.
- Храм: Окончательная победа — Модель, генератор, рисовалка, скрипты — единая экосистема.
Часть 4. Главный вывод
- Почему дерево — в топку — Древесность МЕШАЕТ кусочной обработке и ленивой загрузке.
- Паттерн един: «Вид сбоку» — BTrieve, Гарант F1, iГарант, Архивариус, Храм — одно и то же.
- Осознание — «Локально я сделал то же самое. Но глобально — привязался к иерархии.»
- Геометрия 6-го класса — Точки, линии, веса. «Всё верно. И всё просто.»
- Финальная формула — Атомы + атрибуты атомов = Алфавит. Индексы в виде Key-Value сбоку = Отношения.
💎 Ключевые цитаты
- «Дерево мешало. Лет 20.»
- «Мне это было естественно.»
- «DDF был "натянут" сбоку.»
- «Это было гениально. Не побоюсь этого слова.»
- «В головах уже устойчиво засела древесная парадигма.»
- «"Обход дерева" был выкинут нахер как понятие!»
- «Одно и то же. "Вид сбоку".»
- «Всё верно. И всё просто. Геометрия 6-го класса.»
Комментариев нет:
Отправить комментарий