Вам стоит прочесть "Programming as Theory Building"
- title
- Вам стоит прочесть "Programming as Theory Building"
- type
- summary
- summary
- CodeUtopia об эссе Наура 1985 года: программирование - это построение теории программы, а код, документация и тесты - её артефакты
- tags
- software-engineering, philosophy, llm
- created
- 2026-05-10
- updated
- 2026-05-10
- lang
- ru
- translation_of
- programming-as-theory-building-codeutopia
- source_updated
- 2026-05-10
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Короткая заметка с рекомендацией эссе Петера Наура 1985 года "Programming as Theory Building" - автор видит в нём недостающую концепцию, которая связывает воедино всё, что раньше казалось разрозненными разговорами о best practices.
Тезис Наура заключается в том, что главный продукт программирования - не код, не документация и не тесты, а теория: общая ментальная модель того, что делает программа, почему она это делает и как соотносится с окружающим миром. Код, документация, архитектура и тесты - лишь артефакты, существующие для того, чтобы передавать и сохранять эту теорию.
Взгляд CodeUtopia: любой разговор о "хорошем коде" или "поддерживаемом коде" на самом деле сводится к тому, как передать теорию программы. Чистый код легче читать, потому что он яснее выражает теорию. Архитектура - это структура, делающая форму теории очевидной. Тесты - исполняемые утверждения об инвариантах теории. Диаграммы и проектная документация - изложение теории. Разработчики воспринимают всё это как отдельные дисциплины только потому, что потеряли объединяющую рамку.
Практическое следствие, которое подчеркнул Наур и выделил CodeUtopia: программу невозможно осмысленно модифицировать без понимания её теории. Теория живёт в основном в головах людей, которые её создали. Когда эти люди уходят, программа, по выражению Наура, "умирает": следующие сопровождающие могут поддерживать её работоспособность, но способны лишь накладывать заплатки вокруг тех частей, которых не понимают.
Почему это важно в 2026 году: это задаёт новую рамку для дискуссии о no-silver-bullet-llms. Если LLM генерируют код без того, чтобы создающие его инженеры вообще построили теорию, программа рождается без теории. Видимый артефакт (код) налицо, но субстрат (ментальная модель в головах людей) так и не сформировался. Это усиленная версия возражения из skill-atrophy-supervision-paradox, и она согласуется с наблюдением из building-syntaqlite-ai: дисциплинированное использование ИИ по-прежнему требует проектировщика, который держит в голове теорию.
Cross-references: programming-as-theory-building, mean-free-path-language, clean-code-coding-agents, no-silver-bullet-llms, building-syntaqlite-ai, codeutopia-blog.