I heard recently an instructor mentinon that developing games was the best way to learn programming. Besides the fact that everything had to be created in code, he said you really get to fully experience and implement OOP into your programs. In other words everything you make in a game is a literal object both technically and in concept. Is it safe to make this assumption? Or are there always exceptions when learning programming?note it was geared towards .net / xna / c# development.
Is developing games the best way to learn programming?
learning;object oriented
Game development is some of the most challenging development that there is, in my opinion. Let's look at all the concepts one person creating a first-person shooter needs to know:Graphics3d calculationsSpeed optimizationsInterfacing with graphics hardwareThe gameData structuresFile formats for savingGeneral design, or else you'll create a mess that's impossible to add features toNetwork knowledge if the game is multiplayerAI algorithmsPath findingBattle fightingPublishingOS knowledge such as how installers workPossibly web development for getting the word outYou see, one game can cover a lot of areas simultaneously. This makes it an excellent learning tool if you are willing to spend the time and make it good.As for OOP, that's one pattern that works well. You can use a game as a learning tool to practise good design techniques.To answer your question, though, it's not the only way to learn programming. Once you do become an intermediate developer, creating a game will let you touch a lot of programming concepts and levels. Besides, it's fun!