Originally posted by Sublimity
C# is awesome. Have to add to what you are saying.
If you are completely new to programming and want to get an idea then VB.Net is a great start.
If you already have some experience or an idea but want to get a better understanding of things, C# is the way to go.
If you are experienced already with coding and want to get in more major application building and such C++ is the way to go.
I'm in the middle of learning C#, as I get better and better at it and finish a couple books that will teach me more about everything and how it does and doesn't work then I will make a shift to C++.
The thing is though, VB.NET is not a great starting place. I'm fairly familiar with VB.NET, and while some of the syntax is easier (eliminating things like curly brackets and semi-colons), its not really syntactically accurate to other languages, and many programmers will tell you that it teaches bad habits. Many programmers will also tell you (correctly) that VB.NET programmers get paid less than any other (some less than freelance web designers). The other issue with VB.NET (aside from teaching bad habits and being inaccurate to other more popular languages) is that it is very limiting, and only runs on Windows.
Take it from Dr. Mehran Sahami, professor of computer science at Stanford:
Originally posted by another user
if you learn basic as your first language then you're probably brain damaged
Anyways, most would recommend him to start with Java then move to C++, Java is easy and powerful (and can run on any operating system, and bypasses the compilation steps), there's a reason why Java is taught as the first language at many universities (and AP Computer Science courses).