четверг, 9 апреля 2026 г.

Дерево — в топку. 20 лет борьбы с иерархией в программной инженерии

Дерево — в топку. 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-го класса.»

Комментариев нет:

Отправить комментарий