Learning programming is not for the goal-oriented.
This is the best summation of learning programming I have ever, ever seen.
I am stealing that line.
I'm always amazed at the people recommending that newbies start with languages that don't even have a consistent library from platform to platform. Jesus wept, just because we were tortured with C and C++ to begin with doesn't mean that other people have to be or should be.
OP: For serious, start with something that's actually a sane programming language. Start
simple, where the "hard parts" are abstracted away by the system, and then move on to languages where you handle what is abstracted in other languages
when you need to. By the time you need that power and flexibility, you will be able to learn when it is appropriate to use it and you will be in a much better place for actually learning those languages. Python is a great choice for beginners. C# is also a great choice. C/C++? Not so much. Learn how to program, then learn how to pervert what you know to work in C++.
EDIT: Incidentially, the post below me shows why you should
avoid GCC and the MinGW ecosystem, if you insist on bashing your face off the wall that is C/C++. Just go effing get Visual C++ Express and concentrate on learning to program instead of jerking off about setting up your tools. Use Microsoft's tools on Windows, use GNU's on Unix. This isn't that hard of a concept, and it saves you a hell of a lot of time.
Siquo, thank you for demonstrating my point very admirably. Don't get me wrong: the GCC tools are usable (if poor) if you have nothing better, and on most Linux distributions they come with sane enough default settings that they're quite good, but on Windows, they're pretty damned poor and even a novice has better things to do than screw around with that sort of thing. I'm kind of wondering if the advice below is a parody: I mean, geez. "Manually update autoconf." What is this, 1994? You haven't even had to do that
on Linux for a decade. And cygwin...man, the hits just keep on coming, don't they?