The language doesn't matter that much. But read a good theory book on programming. I like "Code Complete" 2nd edition. You'll get all the info on how to be a good programmer.
Mainly, concentrate on learning the technology and not a programming language. Programming languages are just tools for a specific job. By technology I mean, web programming, server/client, application, embedded, etc. Each industry has it's own language and you have to know the technology to speak their language.
Best Option: Figure out what program you want to write and then find out which language you should write it in.
Objective-C and Cocoa are going to be your best bet for learning application programming, but you have to have a Mac. Otherwise, learn Java. It's somewhat simpler than C/C++ because of memory issues.
Microsoft stuff is not an option as it will teach you very very bad things.
If you want to be really hard-core, learn C++ and Assembly ( x86 architecture ). But to be even half-way decent at those will take a lot of time and a lot of reading on how to do it right.
Conclusion: Buy a Mac and learn Cocoa :)