I'm just learning how to program and I'm wondering if it would be wiser to learn Python or C# for game development? I already know some Python, enough to make a game of hangman; but it seems like learning C#, and thus being able to use XNA and other utilities would be more useful later on.
While I like Python, I find that the mainstream game development libraries for C# tend to be of higher quality with better documentation, etc. So between the two, for game development, I'd recommend C#. But honestly, sticking with Python for a while won't hurt you in the long run either.
I remember when there was a lack of info on XNA and everyone argued over the what the best way to code a game loop for it But it seems Microsoft poured a ton of money into it the last couple of years so there is actually so much XNA info out there that is seems the question everyone has now is where to start. http://channel9.msdn...velopment-Intro
I still find Python/PyGame to be just as good of a choice as before XNA hit the big time since it's still as simple and straight forward to get simple 2D games up and running whereas with XNA it such a fast moving target that you'll have to take care with some of the older code information out there in regards to XNA. For example some XNA examples include the following Note: This item is no longer supported. It may demonstrate techniques that are no longer valid in current versions of XNA Game Studio. The item is archived here, but will not be updated.
Bottom line is the sooner you start writing games in either the easier it will be for you to adapt to any changes in the future since you will be experienced.
Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
You will never loose by picking C# over Python, or Python over C#. Once you understand programming fundamentals, and get fimlair with game programming, you will be in a better position to pick up any language you would like to use.
C# uses XNA for games, or SlimDX, ect...
Python uses PyGame.
The key is to pick one language and just learn as much as you can! Keep on learning languages as time progresses! I was crazy enough to start with C/C++, but heck, 10 years later I've never really left C++ regardless of using VB/C#/BASIC/JAVA ect...
Your development language of choice demands more criteria than just the language itself. You need to look at:
- Development IDE.
- Community support.
- Availability of complimentary libraries.
Picking the language really has to be your own choice, you cant really pick a language based on what others have suggested as you will get pro's and con's for both languages.
I have only used python once and that really was to see what all the fuss was about, I personally didnt like it but I could see why people do like it, im a .net fanboi and would make out with visual studios if I could, rather than listing all the things about C# / .net that make me drool and contradicting my initial comment I will say experiment with both languages and pick whatever you feel comfortable with.
For game development, C# has XNA, SlimDX (DX wrapper), OpenTK (OpenGL wrapper) etc, not sure if theres a wrapper or whatever for python but if your game agenda ever involves or includes DX / OpenGL then you might want to consider using C#. But then you could always use C++ for either DX / OpenGL and use python to script.
For everything else, go look at the million of comparison threads where both languages get flamed / complimented to death. If you consider doing any web related work, you might want to consider C#, because ASP.NET MVC and SL are too awesome for words.