I don't want to get into this too much, as it is a little off topic, but I don't disagree with the general ideas you put forward in your post, Serapth, but you again seem to be missing how "learning a programming language" is different from many types of learning (partially because learning a programming language is learning multiple things: programming concepts, concepts specific to the language, and syntax).
I will definitely give you that if your goal is to program something 'real' or 'substantive' quicker, then learning other languages is probably a better idea than learning C/C++. A lot of that is because there are generally (not always) fewer "concepts" to learn before you get into that.
I want to preface the rest of this by saying that I'm not talking about everyone in the next few paragraphs, just some people (who learn in certain ways).
However, if your initial goal is just 'learning to program' (and you don't mind waiting longer to make a substantive program, which is a personal decision) then C++ is NOT a terrible first language. It's not the best for everyone, it may not even be the best for most people, but it's definitely not terrible. You STILL are learning progressively. You don't start out with the hard parts of C++. It is not really any more difficult to code very basic programs (the type you program when just starting out) in C++ than any other language (or at least the difference in difficulty is negligible). If you are just going through learning concepts and building on them, then C++ works just as well as any other language for that (at least for a while). C++ also makes it easier than many languages (again, not all) to learn a variety of programming styles.
The reason I (and many others) say that it's easier to go from C++ to Java/C#/etc. than the other way around is NOT just because I learned C++ first. It's not even because I've seen other people going both ways and everyone I've seen who went to C++ first had an easier time switching languages than those who went the other way (as that is anecdotal and I realize that it could have just been that the people who learn programming easier happened to pick C++ first). The reason I (and many others) say that it's easier to go from C++ to the other languages is because there are (again, generally) fewer concepts that you have to pick up on to program in those languages (which is why, I believe, many others recommend going to, say, Java as a first language), so you are MOSTLY learning syntax. If you can program well in C++, then you have to learn less to program in Java than if you go the other way. Yes, there are some concepts/methods to learn, but it generally takes less time to learn those concepts you need for Java than those you need for C++.
As long as you are learning progressively (starting from the basics and moving on), MOST languages are decent starter languages. You just have to pick the one that fits your goals more closely (such as how quickly you want to program something substantive vs. how deep you want to get into how things work "below the language" before you program something substantive). The error you pointed out earlier is NOT something someone just starting out should run into (if they are starting with beginning concepts as they should), so it is NOT something to worry about when picking your first language.
Again, a little off topic, so I'm done posting about it, I just wanted to clarify what I was talking about and that I completely agree with you that you should start simple when learning new things, I just disagree on whether or not it's possible to start simple with C++.
It's like actual (non-programming) languages. Most are fairly easy to learn when you are just learning very basic grammar and counting. Some are just going to make you learn more things before you get to the point that you could write a book in that language.