← На главную

Брукс: смоляная яма делает продукт в 9 раз дороже, но код — магия

24.07.2026 12:15 · hackernews

Фредерик Брукс, руководивший разработкой IBM System/360, ещё в книге The Mythical Man-Month сравнил создание больших программных систем с доисторическими животными, гибнущими в смоляных ямах. Тонули не от одной проблемы — лапы по отдельности ещё можно было вытащить. Беда в том, что сотни трудностей наваливаются разом и тянут проект на дно.

Брукс разделил три сущности. Программа — это гаражная поделка, которая работает у автора. Продукт — уже обобщённая, протестированная и задокументированная вещь, готовая к запуску у кого угодно. Системный компонент вдобавок живёт внутри связки программ: интерфейсы соблюдены, ресурсный бюджет фиксирован, тестирование идёт во всех комбинациях. Каждый переход утраивает стоимость. Полезный результат, который одновременно продукт и компонент, обходится в девять раз дороже исходной программы. Именно поэтому корпорации со своими «тысячей строк в год» не вытесняются дуэтами из гаража — даже если в 1976-м Стив Джобс и Стив Возняк собрали Apple Computer именно там.

Радость ремесла начинается с чистого удовольствия делать вещи — как замки из песка, только из мысли. Дальше — счастье быть полезным, видеть, как твоё творение работает у других. Программа похожа на сложный автомат: нажимаешь кнопки, внутри сцепляются шестерёнки логики, выскакивает результат. Это чувство усиливается постоянной новизной — задачи редко повторяются — и пластичностью среды. Строишь воздушные замки, но в отличие от стихов они реальны: двигают механизмы, печатают, звучат. Магия заклинаний с клавиатуры, воплотившаяся от ENIAC до наших дней.

Есть и неизбежные горести. Главная — тирания совершенства: один неверный символ, и чары рушатся. Человек к такому не привык. Ответственность почти всегда превышает полномочия — цели, данные и инструменты приходят от других. Приходится добиваться авторитета не должностью, а результатами. Отдельная боль — зависимость от чужих программ без исходников, тестов и внятной документации. Рутина никуда не девается: охота на баги отнимает силы, а последние ошибки отладки отнимают времени больше, чем все предыдущие. Наконец, продукт устаревает морально ещё до выхода — бумажные идеи всегда выглядят гламурнее того, что уже работает. Но пока реальные задачи решаются живым софтом, а не обсуждаемыми концептами, цена такого продукта остаётся неоспоримой. Как в истории с VisiCalc — первой электронной таблицей, которая появилась не на слайдах, а в руках пользователей.

Программирование — та самая смоляная яма, где тонут титанические усилия. Оно же — источник радости, когда чистый замысел становится работающей реальностью.

Читать оригинал →