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.
ActionScript 3
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.
Javascript
Self explanatory, pretty much all browsers have invested a boatload of money in Javascript run times, so this isn't going anywhere when it comes to client side scripting. 'HTML5' exposes some api's for cooler stuff with JS in the browser. Web dev jobs are abundant, and also pay well.
Hope that helps.