Choose whatever language you feel most comfortable with. Visual Basic.NET is not commonly used, but can do most of the things that C# can (after all; they are both .NET languages, so they can call into all of the same libraries. I've been able to code in C# for most of my career, and every once in a while, someone has a VB.NET question, and I can usually answer it using my .NET expertise, without even knowing much VB.NET specific stuff). C++ is a good language if you've programmed before, or at least have a basic understanding of how computer memory works. I've programmed in C++ and C# before, and personally, haven't noticed any performance difference between the two (even when I've ported C++ libraries to C#). However, there are some things that are actually simpler to do in C++; such as direct memory allocation (if you need very fine-grained control over memory), signal processing (mostly due to the number of C++ libraries out there that already do most of the work for you), writing drivers, and writing DirectX 11 programs for Windows 8 (although, I do often write in C++/CLI and invoke managed commands from my DirectX 11 C++ programs). 

Bottom line: Code in the language you like the best. No one language is 'better' than another (even Visual Basic.NET still has its uses), and HAVE FUN!