For a beginner in programming you shouldn't start out with game programming, you should study the basics of a programming language, depending on what you pick the learning curve will be longer or harder, for example if you pick C++ the learning curve will most likely be initially hard, but useful. On the other hand if you would choose a simpler language like VB or Delphi, you might end up using it's functions more than learning the actual way of programming, if you've got the patience I'd always suggest C++, it's what I started out with and even though I now choose C# and/or Java over it, I value what I learned from it.
For a beginner game programmer (a programmer that just hasn't been into game programming yet) I'd suggest a variant of the same thing, if you have patience for it, start out hard with C++, learn how to do things ground up so that you later can value the simplified ways of doing it, and knowing what's behind it. Then perhaps move on to using a framework such as Allegro, or even XNA with C#, as they both pack alot of functions that make a programmers life alot easier.
That's my two cents.