Мы привыкли воспринимать систему сборки как набор скриптов, которые «что-то компилируют». Make, CMake, Bazel, Cargo — инструменты меняются, а ощущение остаётся прежним: нажал кнопку, получил бинарник. Статья Jyn аккуратно и без пафоса делает куда более важную вещь — раскладывает сборку как вычислительную систему, со своей теорией, ограничениями и фундаментальными свойствами. И внезапно выясняется, что система сборки (build system) — это не про компиляцию. Это про инкрементальные вычисления над графом зависимостей. Сборка как преобразование данных В самом базовом виде любая система сборки — это механизм, который: 🧩 принимает входные данные 🔄 применяет к ним набор преобразований 💾 кеширует результаты 🔁 пересчитывает только то, что действительно изменилось Компиляция, линковка, генерация кода, сборка Docker-образа — всё это частные случаи одного и того же паттерна. Отличие лишь в том, насколько точно система понимает свои зависимости. Инкрементальность — это не «быстро», а «корректно
Система сборки — это не Makefile. Это модель мышления
14 декабря 202514 дек 2025
1
3 мин