As with any other craft, skills in programming can't be based on theory alone. Since programming in different languages significantly change the way you need to structure and phrase your code, you should have some ideas regarding what platform(s) you are planning to develop games for quite early on. Examine the different platforms and which languages are most suitable for developing games for them, and start programming! Starting off with a low level language (e.g. C++) can be difficult as the semantics and functions can seem quite arcane and convoluted, but it's very beneficial to take this route as it will prepare you for any of the higher level languages (e.g. Unity, Objective-C) very well. In short, knowing a low level language will make it very easy for you to pick up any of the high level languages and makes you a more well-rounded programmer!
As the titles of the programming literature is extremely self-explanatory, we can probably just sum up why we've recommended them right here; they're all great portals into the different languages you should be acquainted with to be a well-rounded programmer and shock full with practical examples and exercises. None of them require previous experience with programming, which of course mean that they might be a bit low level for the more experienced programmer. If you are an experienced programmer though, you probably don't need our help to scope out good literature, as you've probably already done that on your own :).
Programming in Objective-C 4.0 Steven G. Kochan 2011 |
Beginning C++ Through Game Programming Michael Dawson 2010 |
Beginning iOS 5 Development: Exploring the iOS SDK David Mark, Jack Nutting & Jeff LaMarche 2011 |
The Javascript Programming Language Ray Toal & John David N. Dionisio 2010 |