Another problem is that, you need a different programming language depending on what you are trying to program.
If you want to program windows appa Windows application that extends a microsoftMicrosoft product, you have to use .NET C# or VB.NET or vbscriptVBScript. If you want to program an iPhone you have to use Objective C-C, Java for Android--Java, MSSilverlight for Windows Mobile--Silverlight, financial apps--maybemaybe Java.. for financial applications, etc.
It's not like you can learn 1one language and then be able to program anything you want...