I would recommend you learn a very common, well rounded language that provides you with a good introduction into the world of programming and that gives you easy access to help because many others are doing it.
Generically, I would start with C and then move on to C++. But whatever your choice of first language, get a good understanding of data structures, patterns and object oriented design/programming. Once you learn these things, then the language itself becomes less important because you'll be able to apply your techniques to any language without much struggle.
In terms of making a lot of money, that's tougher to answer. You can be an expert at C++ (or whatever language) and work at some dismal IT position in some corporation somewhere and earn an average salary. But that same expert can decide to quit that job, and write an application that millions of people buy and make plenty moolah. This of course requires ingenuity, skill and luck. The expert can also completely fail that and have to live of their parents while recovering.
In my experience, it isn't the language that earns you the money, it's experience, how good you are at writing software and your ability to solve problems. You can switch languages any old time.
If you're looking for good money, though, SAP programmers earn a mint! But not right off the bat.