For game development, this is generally my recommendation list:
GDevelop - http://compilgames.net
Godot Engine - http://www.godotengine.org
SGE Game Engine - http://stellarengine.nongnu.org
LÖVE - https://love2d.org
Cocos2D - http://www.cocos2d.org
Each of these options has different advantages and disadvantages, but in
general, the ones listed first are the ones I recommend the most for
beginners.
Full disclosure: I'm the developer of the SGE Game Engine.
By the way, I would strongly disagree with Calinou's suggestion of using Qt.
Widget toolkits like Qt generally aren't that great for games, and developing
a graphical interface is a completely different job compared to developing a
game. If you're going to use something more low-level than my recommendations
above, you'd want something like SDL (C) or Pyglet (Python).
Personally, I learned game development by using a proprietary program similar
to GDevelop and Godot Engine that had a choice between a drag-and-drop logic
dictation system, and a scripting language similar to JavaScript. I started
out using the drag-and-drop system it had, then gradually moved into learning
the scripting language. I've never actually used GDevelop or Godot Engine,
but I know that programming is not required to use GDevelop, and I think (but
am not entirely sure) that programming is required for Godot Engine, so I
think I would recommend starting with GDevelop. I don't think GDevelop has a
scripting language, so when you think you're ready to learn that, you could
switch over to Godot Engine, I guess. Of course, it's your learning, so do
whatever's best for you.
Another approach is to make small changes to existing large programs. My
contributions to Naev in this manner were how I learned C and Lua.