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