What programming languages to start with?
It all depends on what your aims and needs are and it depends on your method of delivery.
Is it a browser-based app? C# is a beautiful programming language and Microsoft's web platform has evolved considerably over the years. It's also great for desktop apps. There's virtually nothing you can't do with C#. And it performs well.
Want to write mobile apps? You might want to re-think Java, unless you want to learn Objective-C (iPhone, iPad) which, from what I've seen is an awful beyotch. Android is basically J2ME.
Another option is PHP. Ubiquitous and user-friendly, albeit slow or antiquated.
Try Ruby -- it has a bright future, and it's elegant. Less IS more.
I would avoid C and C++. Make it easy on yourself so you can make cool things and enjoy the learning process. If you really want to mess around with pointers and memory management, start with C#.
Ultimately, what's more important than the language you choose is that you learn one language *well*. Learn one language inside and out, so that when you need to pick up another language, it will be trivial for you. The principles are all the same. An object is an object, a method is a method, etc.
Also: don't waste your time reading books end-to-end. Too many books are written by authors trying to make a name. Even worse, they're in bed with the platform vendors *cough* Microsoft.
Build something cool. Charter a pet project and learn things as needed to build what you want. The only way to really learn is by doing lots of it.
Talk to others that know more than you and are nice ==> The ALT.NET Community Don't try to learn in a vacuum.
Have fun!
Not to dis you personally bro but I have to rage here (and I know a few of you saw this coming).
<rage>
I have never had, and will never have any respect for C# or .NET or similar developers. Early on Microsoft saw that they could not easily make money on c/c++ or PHP. What is the solution? Create a bunch of bullshit languages that they could sell the shit out of for no other reason than to profit from them. I'm not saying they shouldn't but it's plenty clear that the only real reason .NET and various Microsoft languages where created was to do none other than compete with the up and coming PHP. I remember the first time I looked in a C# book and said "WTF is this shit?". I also remember when .NET sucked so fucking hard (roughly 8-10 years ago or so) I could puke. A lot has changed since then, C# has become more powerful and faster but I honestly think you're better off with Java if you're going that route.
Down with Microsoft, and down with their shit-tastic languages. Microsoft has proven they are against the advancement of technology and standards, stay away and you'll be rewarded in the long run.
</rage>