Believe it or not, there is a huge difference between if you want to learn programming and make games or want to learn programming to make games. The difference being that in the first situation you are equally passionate about both game dev'ing and programming (separately passionate) and want to pursue them both. In the second situation, you are interested in programming, but this as a means to your goal to make games. I have totally separate advice for whichever one you are. Neither way of thinking is better.
If you want to learn programming and make games, then I would recommend installing GNU/Linux and using C to start making programs using legendary tools like GCC, make, GNU nano, bash, Emacs, GDB, GNU/Linux itself, etc. This is a whole different topic, but there is still something I must address. I will definitely get a lot of flak here for recommending what I just did, but honestly if you learn this stuff, everything else is just easier and not superstitious. You can then learn C++ if you want to fit in with everyone else, once your projects become too big for C (you can judge this based on what is comfortable size for you). You don't have to use C++ for large projects, it's all preference. C code is valid C++ code, but not vice versa (its like C is the inside layer of a C++ onion). Some might recommend you stick with something like Python, Lua, or Java on Windows ($indows), but if you are passionate about programming separate from games, you might as well learn the mainstays and norms of the modern PC.
If you want to learn programming, but programming is just a part of your path to making games, ignore the above paragraph. That would be torture if you really didn't want to learn the stuff. Just go grab something like Unity 3D and use JavaScript, Python, C#, etc. as a scripting language. This is a perfectly legitimate way of making games. I don't care what people say, this is the best option for pretty much all indie devs. The only reason people like me prefer writing our own code is because it is just fun, once you get the train rolling. When using a ready-to-use solution, you also get to sit back in your chair with a pretty HD 3D game after a day or two of work with pride and achievement, whereas going for a homegrown approach you can sit back with pride over your 3D (extremely buggy) game that frequently crashes and has caused you to lose half of your hair (this all after 2 months).
Overall, you have some very productive times available to you. Kids have lots of energy at your age, and they also have lots of time. Respond if you want me to elaborate on anything I said.