Ерунда... программисту мешают только ошибки проектирования!
если в ходе проектирования появляется образ программы на каком-то абстрактном языке и уровне, то суть кодирования - трансляция с кода абстракции на код выбранного языка программирования.
пусть даже весь проект расписан на псевдокоде(тоесть уровень детализации достаточно большой) - всё равно задача этой трансляции не тривиальна.
если код не унаследован и не будет встраиватся в существующую систему - люди выбирают язык реализации самым стрёмным образом. Почему-то считается что легче задачу впихнуть в парадигму языка чем поменять язык(а на кой их столько?).
а теперь интересный момент: если относить выбор языка реализации к стадии проектирования то всё равно остаётся момент - уровень владения языком.
и именно тут с++ самое большое гавно из всего говна. "выучить" его невозможно, а пишут на нём что ни попадя.
Единственное "преимущество" кода на с/с++ маленькое потребление памяти и скорости системных вызовов(в идеальном коде без ошибок и тд). а идеальным может быть разве что Hello World! на лиспе.