Actually, I find the most important factor to be the demand and availability of a Programming language. At college I always wanted to learn C++, even when they said "Yeah, we have C++" they did not. They lied to me and then flat-out gave me C#. Honestly, after finishing my studies on C# this year in December, I'll probably get myself a course on C++. After all, the more program languages you learn, the better your scope is. It all comes down to scope in my opinion. Different languages (like the variation of Pascal we have at work) have different scopes, therefore once learning a scope, you're able to do more in a language. I think my logic is a little confused (Haven't been coding all that much lately, company has given me formwork to do most of the time.) but I'm sure to take my final C# test in about January/February next year.