Weird. I remember a day on these forums when "Which language" posts were almost uniformly shut down for fear they'd become flamey. <3
You should select a language based on what platform you want to develop on; you can use this to narrow your choices down to a subset and then make a choice based on preference. For instance, if you want to PC-specific development, you have quite a set to choose from; if you want to someday port to XBox 360, you should consider C#; if you want to make an in-browser game, you'll end up learning a suite of stuff (Javascript, Java, Ruby, Groovy, etc.); maybe you want to be as cross platform as possible (PC, Mac, Linux) and so Java and libraries like SDL become a bit more appealing. Finally, you might consider tools like Unity which remove the bulk of the boilerplate work for you and get you to making games (at the "cost" of losing fine-tooth control on what's under the hood...which honestly you may not need, especially when starting out).
What I'm going to say next is rooted firmly in my personal experience; take it for what it's worth.
If you want to learn to program, Python's a fine place to start. Java is a nice next step as it introduces ideas like typing (and type safety) and there are lots of great resources for it (and Python too, really) on the web to learn from. It's my personal bias that everybody should wrangle with a seg fault at least a dozen times in their programming lives, so I could definitely get behind learning C/C++.
What technology you choose to use is up to you. There are many that can get you there. It's more important that you get there.
If you take programming to career level, you'll find that you're learning new languages, libraries, and development platforms each month. The skill you want isn't just a language...it's the skill to pick up a language at need and use it effectively. So don't feel you need to make the call now and forever; you definitely don't.