Speaking from experience, learning a particular language is the second most import thing to learn. Learning the fundamentals of computer science is far more important. Learning the syntax and ins and outs of a language is important, but if you have good fundamentals, learning the language is easy and optimizations come after experience.
For example, I started a new job in November which required action script. I knew nothing about actionscript but got the job anyway. After a few weeks I picked it up enough to be proficient/pretty damn good at it and am now one of the better actionscript coders at the job.
Learning a language is important, but languages are just tools to get the job done and just learning how to use a tool without understanding what your doing means that if you ever need to learn another tool, you'll be screwed.
That said, C++ is more widely used and is, in general, a "better" language in the sense that you have pretty damn good low level control and room for optimizations. On the downside, there are lots of caveats and it can be very easy to make mistakes that are hard to debug (memory leaks are easier to make, pointer arithmetic is tough).
So, to answer your question, learn theory first and learning languages becomes WAY easier. If you just want "quick" game development, learn actionscript, java script, objective C or C# as they are easier with less caveats but are less "powerful" (low level). If you want more hardcore/optimized work C++ is the way to go.







