Sign in to follow this  
zellpheo

Python?

Recommended Posts

Hello, I have been reserching and Decided that Python was a great language to learn to get started in the game industry. But as I read on this site as well as others, I tend to find that with Python it seems only small scale things are possible, such as Tetris, Pong, Possibly Mario style games. Is this True? And is learning a langauge such as Python that will have no use later in my career be useful? Or are some game companies and or indy game devoplers using Python in games/and or coding at all? Thanks in advance =)

Share this post


Link to post
Share on other sites
Learning any language is worthwhile for a beginner programmer. Python is good for this purpose because it is easy enough to use and still offers a wealth of functionality via the core language as well as its large class library.

You can create huge games and apps with Python, if you have time in your hands. As I see it, however, the toolkits for large-scale development in Python are not as refined as for "classic" languages such as c++ (but I could be wrong here, I primarily use the Microsoft .net stack of tools).

You can easily transfer the concepts such as object oriented programming and control flow to other languages later on, once you are experienced enough with the first language you choose. Language syntax may differ wildly, but syntax is the easy part.

Share this post


Link to post
Share on other sites
Quote:
Original post by zellpheo
But as I read on this site as well as others, I tend to find that with Python it seems only small scale things are possible, such as Tetris, Pong, Possibly Mario style games. Is this True?
EVE Online was written using Stackless Python.
Disney's Toontown and Pirates of the Carribean Online were made with Panda3D, a Python engine.
Civilization IV made extensive use of Python as a scripting language.
If you look at the Quotes about Python page on the official website you'll see that YouTube, Industrial Light & Magic and Google are also users of the language.

Larger things are definitely possible.
Quote:
And is learning a langauge such as Python that will have no use later in my career be useful?
Firstly, learning any language is useful, and a good programmer will learn several or even many during their career.

Second, you could potentially end up using Python later in your career in the industry; it is sometimes used for games, sometimes used as a scripting language, and sometimes used for tools development, and is likely to see more rather than less usage over time.


For now you should focus on learning to program in any language, and Python is an excellent choice for that. You should even be able to make small games reasonably soon using libraries such as PyGame, Pyglet or Panda3D.


Hope that helps! [smile]

Share this post


Link to post
Share on other sites
Quote:
Original post by jbadams
For now you should focus on learning to program in any language, and Python is an excellent choice for that.

Yes. My first language was BASIC, followed by Pascal. Only after those 2 did I move onto C++. You're almost certainly going to learn more than one language in your programming career, so don't worry about getting the 'right' one first time. It's better to pick a language that is good for beginners, and Python is definitely one of those.

Share this post


Link to post
Share on other sites
Thank you all for the speedy/helpful Replies!
You guys have helped me get the little edge to continue programming with python instead of trying to jump right into C++, which I know I'm not ready for.
I did hear of a few games that used Python, But did noty realize that such large scale games/websites were using it as we speak.
One last question for all you helpful people out there =), After I have gotten failry confortable with using Python, Should I just jump right into C++? Or is there another langauge that would say benifiet me more in my programming career and possbily help with the learning of C++?
Thank again =)

[Edited by - zellpheo on March 31, 2010 12:50:59 PM]

Share this post


Link to post
Share on other sites
The hard part is not learning the language but to learn to solve problems. Python (and many other languages, like C#, Java, Visual Basic, hell, even PHP) are well suited to learn that skill. C++ is useful but - well learning it properly is time consuming. It's easy to make mistakes in C++, and in addition the language itself is governed by so many rules and special cases that it's a hair-pulling experience sometimes.

TLDR: C++ is not recommended for a beginner who prefers actual results over memorizing language rules and edge cases; though knowing it is definitely useful. YMMV.

Share this post


Link to post
Share on other sites
I recommend getting a decent IDE with some sort of lint. I use Eclipse and Pydev with decent results. Pydev won't catch all of your typing errors but it definitely helps avoid some annoying ones.

Share this post


Link to post
Share on other sites
Quote:
Original post by Konfusius
The hard part is not learning the language but to learn to solve problems. Python (and many other languages, like C#, Java, Visual Basic, hell, even PHP) are well suited to learn that skill. C++ is useful but - well learning it properly is time consuming. It's easy to make mistakes in C++, and in addition the language itself is governed by so many rules and special cases that it's a hair-pulling experience sometimes.

TLDR: C++ is not recommended for a beginner who prefers actual results over memorizing language rules and edge cases; though knowing it is definitely useful. YMMV.


Thank you, So you are saying before I were to jump into C++ make sure I know how to solve problems, instead of just knowing how a langauge runs?



Quote:
Original post by smr
I recommend getting a decent IDE with some sort of lint. I use Eclipse and Pydev with decent results. Pydev won't catch all of your typing errors but it definitely helps avoid some annoying ones.


Well, With my experiance so far I am just using Pythons IDE, and it seems to work fairly well, though it only catches the errors after I compile them.


Thanks again guys, But My question still arises, After I have gotten familiar with Python and learned to solve problems per say, should I go to C++ or learn another langauge?

Share this post


Link to post
Share on other sites
Quote:
Original post by zellpheo
Quote:
Original post by Konfusius
The hard part is not learning the language but to learn to solve problems. Python (and many other languages, like C#, Java, Visual Basic, hell, even PHP) are well suited to learn that skill. C++ is useful but - well learning it properly is time consuming. It's easy to make mistakes in C++, and in addition the language itself is governed by so many rules and special cases that it's a hair-pulling experience sometimes.

TLDR: C++ is not recommended for a beginner who prefers actual results over memorizing language rules and edge cases; though knowing it is definitely useful. YMMV.


Thank you, So you are saying before I were to jump into C++ make sure I know how to solve problems, instead of just knowing how a langauge runs?

Yeah, such as learning (but not limited to) to stick to something until it's done. To learn C++ thoroughly, a hard head is needed. Not neccessarily for thinking. ;)

Quote:
Thanks again guys, But My question still arises, After I have gotten familiar with Python and learned to solve problems per say, should I go to C++ or learn another langauge?

It's entirely your decision. I can't tell now if you will be ready then. Ask again when you're there. ;)

Share this post


Link to post
Share on other sites
Quote:
Original post by Konfusius
It's entirely your decision. I can't tell now if you will be ready then. Ask again when you're there. ;)


Great advice, and you are correct, I won't know me then until then has come, so the best thing to do is to just get down and dirty and get started, Here I come =)
Im sure ill be back soon to ask for help with Python, Seeing as you guys beside a few tutorials are my only recources.

Share this post


Link to post
Share on other sites
Be sure to read the official Python tutorial, and don't skip anything no matter how simple it may look. Preferably, keep a Python interpreter open alongside the texts and test the stuff as you go.

The knowledge that you gain from the tutorial can be applied well to other object-oriented languages, despite differences in syntax and built-in functionality of the base class library.

For example, Python uses indentation (tabs or spaces) to separate code scope, while C-style languages use braces {} for this purpose. Even though this may make the code look very different, it is actually not a very big difference.

Share this post


Link to post
Share on other sites
Quote:
Original post by zellpheo
Thanks again guys, But My question still arises, After I have gotten familiar with Python and learned to solve problems per say, should I go to C++ or learn another langauge?


It's great that you are about to try Python, it's a huge step in the right direction in my opinion. But I don't know why you are so hung up on C++. I've heard many beginners here talk about C++ like it's some ultimate goal. It isn't. And learning Python is not about getting ready for C++. You don't need C++ to make games. I personally hate C++, and chances are if you learn Python, and then try C++, you're going to hate it too.

After you have learned Python, and by learned I mean of course written some nontrivial programs in it and let it all sink in, I would recommend that you try something different, for example a functional language. It will open your mind and broaden your perspective, as opposed to C++ which will take up a lot of time, bring a lot of pain, and not necessarily be all that helpful towards reaching your ultimate goals of making something, whatever that is, possibly games.

Share this post


Link to post
Share on other sites
C++ is very useful when writing system-level software such as drivers or OS components, because it is arguably very flexible and can be relatively close to metal at the same time. And most operating systems' native API is written/published in C or C++, which has resulted in huge amounts of public code written in these languages.

For productivity of writing new code for general apps and games, C++ is not necessarily the ideal choice, because the flexibility comes with overhead - in average, you have to write more code to accomplish practical tasks than in modern languages such as Python or C#. This may or may not be a concern for you, but it is a concern for businesses that develop software to generate income.

All this said, do learn Python first, and if you later make an informed decision that you need something else, go for it!

Share this post


Link to post
Share on other sites
Quote:
Original post by tufflax
But I don't know why you are so hung up on C++. I've heard many beginners here talk about C++ like it's some ultimate goal. It isn't.

Unless you want to program AAA games, at which point it's as close to a necessity as you're going to get. Sure, there are many games in Flash, and PHP, and C#/XNA, but that is rarely what anybody has in mind when they utter the two words "game industry", as the original post did. Thus we're talking about C++.

But what beginners don't realise is that once you've learned one language it's actually quite easy to learn another, so they may as well start with the most productive language they can and branch out to a more specialised language like C++ if and when they need to.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this