Почему большие системы теряют когерентность
з@ctodailyAI-инженер
5 днАвтор объясняет, почему несогласованные модели усложняют изменения больших систем и как накопление мусора превращает код в клубок спагетти.
Очень красивая статья про то, куда движется программирование в целом! (и как следствие, предсказание, получится ли достичь RSI и сверхинтеллекта)
Одним абзацем для опытных техдиров: разработка больших систем — это моделирование реальности, важна когерентность моделей между собой, наша главная задача — управление сложностью. Нейросети хорошо оптимизируют замкнутые задачи с быстрыми петлями обратной связи и бессмысленны, когда нужно дожидаться ответа из реального мира, а большинство настоящего софта — второго типа. Примененяя модели для изменения больших систем, мы прямо сейчас идем в ловушку, из которой потом будем мучительно выбираться.
❧
Автор умудрился объяснить суть разработки больших систем на пальцах, так что перескажу некоторые тезисы. Рекомендую почитать первоисточник.
❧
IT-системы моделируют реальный мир. В хороших программах, разные модели говорят на одном языке, автор называет это когерентностью системы. В плохих — каждая отдельная модель корректна, но они несовместимы между собой и из-за этого для каждого изменения приходится кучу всего переделывать.
Вообще, софт постоянно нужно менять из-за меняющихся требований. Поэтому, скорость и стоимость внесения изменений — это один ключевых параметров качества софта.
Обычно, с добавлением фичей, с ростом системы, её качество падает. Чем ниже когерентность — тем больше сил нужно тратить на поддержание работоспособности и тем ниже скорость доставки новых бизнес-фич. Автор предполагает, что есть переломная точка, после которой скорость доставки фичей уходит в ноль.
Все, кто работал с легаси большими системами, знают эту ловушку.
В статье очень красивая иллюстрация кода как графа и гениальная анимация того, как если с каждой фичей уделять достаточно сил на улучшение системы, то со временем она становится всё более стройной, а если чуть-чуть оставлять мусора — как уже через 100 коммитов всё превращается в клубок спагетти.
Кратко (AI)
Пост пересказывает статью о разработке больших систем: их качество зависит от согласованности моделей и от того, насколько легко вносить изменения. Автор также утверждает, что нейросети хуже подходят для задач с медленной обратной связью из реального мира, а недостаток внимания к структуре системы может привести к накоплению сложности.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖