If you want to stop being at the mercy of companies and their pet languages like XNA and C#, or Objective-C for Apple, then go with C++.
Well, other posters before me brought it out...but as a professional developer who happens to work almost entirely with C#/.NET technologies (for non-game development, although in a field somewhat related...CAD software), I take umbridge with that statement. It's very narrow thinking to lump a programming language in with a framework or to refer to said framework as a language. It's not the same, and frameworks have a much shorter lifespan than languages. C# has grown to be popular more on its own merits than because of XNA (certainly helped).
Maybe we'll find out if anything will replace XNA when the next xbox is revealed (late may I believe now?). When sony unveiled the newest playstation they said they wanted to support indie development, I'd imagine their competitor would want to do the same.