It depends on what you want to do with your programming knowledge. Each problem or 'solution' has it's own set of tools. I use a few different languages for various purposes.
C# / .NET
Great for game dev or writing software on windows. Also .net is capable of web apps, win mobile 7, and pretty much any platform MS is on. Also, the job market for C# devs is really good. From what I've seen, C# devs are doing 80-150k a year.
The VM runs on a vast array of devices. Adobe is pushing the VM to run on every mobile platform, televisions, game consoles, and obviously the web. Molehill will give you GPU access to write decently performing 3d games on all these platforms. Social gaming programmers are making big bucks at some of the bigger studios.
Hope that helps.