What's wrong with C++ as a first language?
I've read a lot of debate, both here and elsewhere about the problems with C++ in general (I still like it, even though I'll be moving on to other languages when I've gotten more competent). However much some people dislike the language being used at all, there seems to be even more opposition to the idea of it being a newbie's first programming language.
Well, I'm a newbie and C++ is the first language I've decided to try. So far it's been a lot of fun for me, and while I haven't gotten into the nitty gritty of real programming like creating classes, understanding inheritance and the like, I'm enjoying the learning curve immensely.
I've heard that it's too low level (better to hide the inner workings from people who don 't know what they're doing). I've heard that it's too demanding in terms of precise syntax (why punish programmers for missing a single semi-colon?). I've heard it takes too long to produce truly impressive results (it's just too generalist). I've heard these and a dozen other warnings; at the risk of sounding thick-headed, most of them seem to boil down to
"C++ is a pain in the neck, and if you've never programmed before it'll put you off for good."
I'm the kill of bull-headed masochist who'll spend weeks boring into a problem until I beat it, if for no reason but the sheer spite of it. Finicky syntax and blood-boiling bugs will irritate me, but not enough to quit programming altogether. If frustration headaches, delayed gratification and general information overload are all I have to worry about, I'm sticking with C++ as my introduction to the world of programming.(Then maybe Python or LISP)
The people here have a lot of experience with the language, and while the results might be a little biased (I'm guessing most of you enjoy using C++ to some degree), I'd like to know if the experts could give me any other reasons to start with another language aside from the fact I might pull my hair out. Am I going to develop any bad coding habits? Will it hurt my understanding of programs in general? I'll switch to one of the more popular first languages if this is going to make me a bad programmer somehow, or hurt my ability to understand other languages, but if it's just about the difficulty curve, well... :3