Learn Python so you understand what you're doing first, then once you get a good grasp on how to produce pseudocode and algorithms, then move onto a different language, like Java or C++.
A good starting point is solving text based games using premade algorithms to learn how to properly implement them.
I learned on Java, but Java really has you ignore some fundamental concepts that I'm still weaker on than I should be because my first years of programming I never had to think about it. Java is nice for learning basic programming logic, but you miss a lot of the details.
If that gets too frustrating then Java is certainly a valid option. The joke is that C gives you the tools to hang yourself, while C++ ties the noose for you.
The higher level languages are easier to learn, but they also cause you to miss more of the underlying concepts. Python's a nice language for scripting, but I wouldn't suggest sticking with it for much longer than understanding basic programming logic if you want to learn the fundamentals.
--
No amount of planning will ever replace dumb luck.
Been teaching myself some C++ lately (though haven't had time for the last month or so). I recommend picking the best language (from what I hear, C++ is going places) and just practicing it every day, reading some books + online guides. I think stuff is easy to learn as long as you have the time and practice every day.
-- GameFAQs isn't going to be merged in with GameSpot or any other site. We're not going to strip out the soul of the site. -CJayC
If you want to be able to make games ASAP then use Game Maker. It uses a code language called GML that is very flexible and easy to work with, but you can also use simple click-and-drag interfaces and a graphic level editor to get started without having to learn everything all at once. GML is based on C++ IIRC, so what you learn can definitely be applied to more professional languages.
Me and one of my friends started making games with Game Maker when we were like 10. Now I'm a professional 3D artist and he's a programmer who's already made quite a name for himself making old-school freeware games. So to us at least, it was a very good starting point.
C is the most pain in the ass language to actually use, of what I've seriously used. However, it's also the best for learning the concepts of how everything actually works, short of Assembly which I wouldn't recommend until you really know what you're doing.
So yeah, I'd start with C. It'll probably be a pain to start with (Though I was spoiled by the relative easy of C++ and Java first, which might be why I found it so annoying <_<), but I think you'll be better off for it in the long run, if you're really serious here.
Java or C++ is the conventional choice, so might as well. C++ doesn't hold your hand as much.
--
"As the size of an explosion increases, the number of social situations it is incapable of solving approaches zero." -Vaarsuvius, Order of the Stick