I'm sitting here writing this as I'm waiting for my VB2008 Express to finish downloading. As browsing the MicroSoft web page, I see they also have C# and C++ Express versions for download. Here's my background:

I've started WAY back in the day with good ol' QBasic, then moved myself to VB6.0. I did alittle programing in that, then VB.NET Express was released and I've been playing around more in that. All my knowledge in programing languages was self taught through tutorials and online forums like this. Now after doing the visual thing for a while, I found it to be very hard to create good powerful programs in VB due to it's limitations. So with C being offered in a free download form, I was considering getting it to play around with, how-ever I'm unsure the differences between C# and C++, and which would make a better language to move to after VB.NET.

So here my question, as stated above, I would like to move to something more powerful, yet b/c all my coding knowledge is self taught, could one actually learn one of these fairly easily? Which language should I try? Which one would be better for a game building newbie? Anyone close enough to VB.NET where it would make the transition smoothly?