Keep it complicated, stupid

Mar 26, 2024 07:56


https://egovoru.livejournal.com/213771.html

Для начала нужно развести понятия прогресса и усложнения. Опытный программист расскажет Вам, что усложнение кода, в большинстве случаев - признак не прогресса, а регресса, деградации и криворукости. Наоборот, достижение максимальной простоты решения для данной проблемы (без упрощения ее самой) - это и есть идеал прогресса для кода.

По видимому, у прокриот эволюция в большинстве случаев примерно так и работает. А вот эукариоты, особенно многоклеточные, в силу меньшей численности популяций могут себе позволить просто усложнения ради усложнение (как криворукие программисты, которых за это не уволят). Та же редупликация генов - это столь любимый нубами копипаст - один из смертных кодерских грехов. И тут возникает парадокс - на долгих эволюционных промежутках именно избыточная сложность ("техподдержка" которой довольно дорого обходится) повышает шансы на выживание и дальнейшее развитие, ибо увеличивает количество опций при изменении условий среды.

Меня давно интересует вопрос: можно ли говорить о таком же преимуществе в избыточно сложных и забюрократизированных организациях в человеческом обществе. Казалось бы, бюрократия - это плохо. Но мы часто видим, как попытки оптимизизации, минимизации и прочего аджайла приводят к разрушению системы. Можно, конечно, найти причину в криворукости самих "оптимизаторов". А что если сама постановка задачи была неправильной?
Previous post Next post
Up