Что не надо начинать с C++ -да, безусловно прав. Язык слишком большой и слишком переусложнённый (такое ощущение, что "стандартизаторы" задались целью впихнуть в С++ все становящиеся модными в других языках фишки), чтобы его можно было использовать для начального обучения. В этой куче новичку невозможно отделить важное от второстепенного, необходимое от бессмысленных рюшечек, позволяющих сократить код программы на несколько символов... Но и Python - далеко не лучший вариант. Для начального обучения должен быть максимально "маленький" язык со строгой статической типизацией. И обучаться надо в первую очередь не языку, а программированию. Язык же - только вспомогательный инструмент для записи алгоритмов.