> -- Сергей Губанов писал(а):
> .....  В программировании тоже самое. Стоит где-то что-то (в программе) усложнить, так потом придётся усложнить ещё больше, а потом ещё, ещё и ещё -- автокатализ усложнения...

Это происходит не всегда. Скажем, если сохранять интерфейсы модулей неизменными, то при любых изменениях рост сложности будет ограничен пределами модуля. А неконтролируемый рост сложности ПО вызван, скорее всего, социальными причинами.

Тут можно провести аналогию с некоторыми застойными культурами. Скажем, китайская культура в том виде, в котором она сложилась к концу первого тысячелетия н.э., отличалась крайней сложностью и одновременно – бесплодностью, она работала как бы “вхолостую”. Причем ее сложность и бесплодность явно связаны. К примеру, изучение сложной китайской письменности поглощало время, которое можно было бы потратить более рационально.

Таким образом, возможен “злокачественный рост” сложности, ведущий к утрате всякой способности к прогрессу. Чтобы этого избежать, элементы культуры должны быть относительно простыми, но эффективными. Как, например, эффективно фонетическое письмо по сравнению с иероглифическим, арабские цифры по сравнению с римскими, Десять Заповедей по сравнению с американским законодательством:).

Что касается причин - то, по-видимому, неконтролируемый рост сложности происходит, если она не служит никакой внешней по отношению к системе цели, а порождается внутренними причинами.  В случае языков программирования – это стремление программистов к гибкости, богатству средств, универсальности, “изяществу” записи и.т.п. При этом – и это очень характерно для “айтишников” – средства (языки, ОС) становятся целями. Например, в 90-х было очень популярно “шареварение”. При этом большинство “шареварщиков” терпели поражение, потому что не могли предложить пользователем никаких решений ИХ проблем – все их мысли неизменно крутились вокруг “средств производства” – библиотек, сред, программистских утилиток и.т.п.; ничто другое их просто не интересовало.

То есть достаточно не забывать, что компьютер – лишь средство для достижения целей, лежащих за пределами системного блока:)
Те же китайцы, как только столкнулись с сильным ВНЕШНИМ противником, сразу перестали заниматься ерундой:)