Чтобы быть не только программистом, но и просто очень умным человеком нужно обладать 4-мя качествами определяющими умственные способности: 1) Объемно-пространственное мышление, это похоже на видение одновременно всего поля и каждого игрока гениальным футболистом. 2) Способность к системному анализу, то есть построение не одиночных линейных логических цепочек, а объемной многоуровневой взаимоувязанной матрицы событий, явлений или знаний. 3) Способность к моделированию. То есть, способность создать систему, которую можно проверить на достоверность исследованных факторов, принципов и (или) правил. 4) Способность к прогнозированию и системному применению полученных знаний, то есть, способность заранее знать и предвидеть практическое применение предварительно отстроенной (выстроенной) модели, и знать результаты своих действий, ожидаемых событий или показателей явлений, в которых имеется практический интерес. Нюанс: Каждое из этих качеств умственной деятельности одновременно сопровождается элементами обратной связи. "Видение поля" должно подвергаться динамической коррекции, жизнь это не мертвая фотография безжизненной пустыни. Системный анализ коррекции на основе "иных принципов, законов и правил", которые в первого взгляда не имеют связи с исследуемой системой. Модель корректируется по показателям пробного прогона. А прогнозирование корректируется по результатам реальных отклонений "по жизни" от запущенной модели... Вопрос: А у всех ли есть такой набор качеств мыслительной деятельности? Вероятно, далеко не у всех. Если коротко, то примерно так выглядит разница между Циолковским, который смоделировал полеты в космос, никогда там не бывав, и разносчиком пиццы, который где-то примерно знает только карту своего города, и какая улица главная, чтобы можно было через неё вернуться в своё кафе, если заблудился.