C# (C sharp) or Python?

Status
Not open for further replies.

Shade_

Solid State Member
Messages
6
Location
USA
So, I'm actually an independent 3D character/level modeler and soundtrack composer, and recently I'm nearly finished with one of the first game projects. I want it to be able to have net/internet play for multilayer. And I've been looking around and apparently I would need a server for it. I'm completely clueless on these things but it seems like creating a server isn't too hard, but it does require some programming knowledge in order to set up, which I don't have. So I've decided to learn one in order to set this up.

I've been asking around what language would be best for a beginning programmer if I'm trying to set up a server. So far I've heard good things about Python, and another friend said that C sharp takes care of a lot of problems that C++ and C had. And C++ is apparently one of the languages that is used in today's professional world. (Which as a college student in debt, might come in handy), I don't know if I want to use python if all I can do is create servers with it.

Also, between the two languages. Which of those two languages would be best if I decided to do things related to game design such as. Creating a menu, putting 3D objects in virtual space and, designing interactive bots for people to interact with?

Sorry for the long post, but I'm really looking at this quite seriously. Thank you for your time!
 
C# is rarely used in game development. You can create a game server with it very easily however.

Python, on the other hand is used quite a bit in games, second only to C++ which has about 99% of the game development share, and can be used to create applications for web and local machines.

What programming knowledge do you have so far?
 
I've taken a year of beginning Java in high school. It was very basic stuff, and if I had Java in front of my right now I wouldn't remember how to do anything. But I do know the basics as to how programming works, I just never really had a chance to expand on it because the class was canceled the next year due to the teacher being fired.

I'm basically fresh in terms that I know what programming is and how it works on paper, but I don't really know any specifics about anything.
 
Well many game servers are developed in Java as well so could continue with that. You should base your decision on what you think you'll be developing more of.
 
So if I was going to be doing things having to do with the internet, then I should use Java or C sharp? However, if I'm going to be developing things people can interact with like games, then Python would be good?

One last question, this is kinda random, but "if" I was trying to develop a program that was designed to talk to you (through typing), and the way it learned was by analyzing the way you type and respond to what ever is typed to you when you use an instant messaging program. Recorded everything as data, and used it as a base to generate a response when you talk to it, would python be able to pull that off?
 
Not exactly, Python is used quite a bit for web now as well. However, it wasn't designed with web development in mind like languages such as PHP, Java or C# so you do normally need a web framework such as Django or CherryPy unless you develop one yourself.

For a chat system such as that, Java would be your best option. Python is definitely capable of it, however it would require more work.
 
Would I be too annoying if I asked what is the major differences between C# and python that enable C# to fare better on the web, and why python is better for setting up game and interactive things like the chat program I just described? Could I even do things like the chat program with C# if I got really good at it? From what you've told me, I feel like for general purposes Java or Python would be better for me to learn, but I also feel like C# is a newer language and therefor might be easier for me to pickup and learn.

If I wanted to make my own software, like a personalized photoshop or MS Paint for specific purposes, would that also be better for me to use Java and Python?

Sorry for all the questions.
 
Would I be too annoying if I asked what is the major differences between C# and python that enable C# to fare better on the web, and why python is better for setting up game and interactive things like the chat program I just described? Could I even do things like the chat program with C# if I got really good at it?
C# is a general purpose programming language that requires the .NET Framework to execute on Windows or Mono on other platforms like Linux. Python requires an interpreter and is a bit higher level than C#. They are both nice languages.

Technically, you can achieve your stated objectives in any of the languages you've mentioned. If you're interested in developing games for Windows or XBox 360, then check out Microsoft's XNA framework, which uses C# to facilitate game development for those platforms. Actually, you could use any .NET supported language with XNA, like C#, F#, VB, IronPython, IronRuby, etc.

If I wanted to make my own software, like a personalized photoshop or MS Paint for specific purposes, would that also be better for me to use Java and Python?
If you are going to develop applications specifically for Windows, then I'd recommend C# or some other .NET language. This would allow you to use the very powerful Windows Presentation Foundation (WPF) for developing a slick UI.

As a former Java programmer, I would avoid developing desktop applications in Java. Not that Java is a bad language, it's just not as nice as Python or C#. You can use it for desktop apps, but there's no good reason to punish yourself or your users.

but I also feel like C# is a newer language and therefor might be easier for me to pickup and learn.
Python would be the easiest to learn of the three you mentioned. You'll be more productive in Python in a shorter amount of time.
 
Thanks both of you for your answers and patience. I feel like I was able to make a clear decision today confidently.

Thank you again-
 
Status
Not open for further replies.
Back
Top Bottom