in reply to C++, C# or Java
Why don't you just look at one of those surveys of job sites that compares the number of listings for different languages? If your motivations are more than just economic, you should consider what kind of work each of these languages is used for. If you choose C#, you will be working in a Microsoft environment, so you may have feelings one way or the other about that. If you choose Java, there will be a lot of backend business applications. C++ used to mean a lot of GUI apps, but I'm not sure what it means these days.