Anyone suggesting C or C++ as a first language to learn needs a swift kick in the nuts!
I don't agree here at all. They are different flavours for different things. Python is like learning facts, but C++ is like understanding 'why'. Anyone can learn if you throw a ball up it'll come down and that's all that's needed for nearly everyone, but if you really learn 'why' it does it, you can use that to your advantage in other aspects and really take control of it to a small detail.
Python fits nearly anyone and is great to get people at a base layer but going from Pyhton to C++ is rediculously daunting to most people that code because of how different and complex it is in comparison. However anyone that can do c++ can do python afterwards and if you are taught a complex thing first, you don't learn 'bad habit short cuts' from the easier mode. It's harder to unlearn that and re-lean complexity, than it is to learn complex things first and then learn short cuts afterwards.
Again, I think python is great for the majority of uses for the majority of people, but a lot of people learn it because they are taught it at school and give up on it like they do with history and geography because whilst they can use it, it doesn't interest them at all. But learning c++ first would mean you either learn a language properly, or give up coding because you know it's not for you, it's more obvious from an earlier level and if you do end up 'getting it', then you know you are now set for any aspects of coding (maybe not assembly
)
Lastly in my opinion, C++ was also taught by 'coder' type people who don't have great personalities or charisma, they made learning un-fun and more complicated than needed. Now that coding is way more universal, giving a rise to much more interesting/charismatic teachers for the next generations.