Sign in to follow this  
Aus

Just starting out...python a good choice?

Recommended Posts

Recently I've become inspired to start programming [i]something[/i]. I know I'm probably years off of making actual games but I would love to reach that point eventually. I just started learning HTML for website design purposes. I figured if I don't get far with this then at least I will have a basic grasp on how to change up my own personal website (albeit a very basic grasp).

A friend recommended I start learning Python before anything hard like C++. I would like to someday be making games...are Python and HTML good choices starting out?

Share this post


Link to post
Share on other sites
Yes, Python is a fine language to start with. Actually, I would recommend writing everything you possibly can in a nice, very high-level language like Python, until there's an actual need to write portions of your program in a lower level language.

I actually have a [url="http://www.youtube.com/playlist?list=PLDFB7FFF90EE6F0C1"]python video tutorial series[/url], which can help you build a simple memory match game.

Give it a try.

Share this post


Link to post
Share on other sites
My own introduction to programming was through web design. Python is a perfectly fine choice. Actually, you really don't [i]have[/i] to ever write any C or C++ code. You might enjoy languages like Java or C# better. But if you're truly set on building up to C++ as a goal, I'd actually suggest JavaScript. Not only does it fit perfectly with HTML and CSS, but much of the syntax, and many of the concepts in the language are the same or extremely similar to those in C and C++. Also, it's really fun.

Share this post


Link to post
Share on other sites
Python is a good choice. Much easier than C++ to learn and use.
[quote name='Aus' timestamp='1351371521' post='4994516']
Recently I've become inspired to start programming something. [b]I know I'm probably years off of making actual games[/b] but I would love to reach that point eventually. I just started learning HTML for website design purposes. I figured if I don't get far with this then at least I will have a basic grasp on how to change up my own personal website (albeit a very basic grasp).
A friend recommended I start learning Python before anything hard like C++. I would like to someday be making games...are Python and HTML good choices starting out?
[/quote]Who said that it will take time to make games? Big games like World of Warcraft may take time but small games you can make in lesser time. If you are using python to learn programming then I would say that you use the book "invent your own computer games with python". It is good learning material and if you keep at it you will learn both python as well as make some games.
Enjoy

Share this post


Link to post
Share on other sites
[quote name='Zelda.Alex' timestamp='1351440798' post='4994742']
Python is a good choice. Much easier than C++ to learn and use.
[quote name='Aus' timestamp='1351371521' post='4994516']
Recently I've become inspired to start programming something. [b]I know I'm probably years off of making actual games[/b] but I would love to reach that point eventually. I just started learning HTML for website design purposes. I figured if I don't get far with this then at least I will have a basic grasp on how to change up my own personal website (albeit a very basic grasp).
A friend recommended I start learning Python before anything hard like C++. I would like to someday be making games...are Python and HTML good choices starting out?
[/quote]Who said that it will take time to make games? Big games like World of Warcraft may take time but small games you can make in lesser time. If you are using python to learn programming then I would say that you use the book "invent your own computer games with python". It is good learning material and if you keep at it you will learn both python as well as make some games.
Enjoy
[/quote]
I just assume. Like most developed skills I imagine reaching a decent level in programming takes significant time and patience. As a self taught guitar player, I am fully prepared for this. I didn't start writing instrumentals on guitar when I first started playing. Likewise, I don't expect to be making games right away either. The sooner the better though.

Thanks for the advice everyone. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by Aus

Share this post


Link to post
Share on other sites
Python is an excellent starting point. I myself had an actual teacher in a computer science class but I hear that this is a great learning source (python 2 specifically, 2 and 3 are not compatible):
http://openbookproject.net/thinkcs/python/english2e/index.html

You can do ALOT with python. Infact it is commonly used for server side web scripting so may go nicely with HTML, CSS and javascript. It may be easier to learn javascript having learnt python first. Python is very much like structured english.

It *can* be used to make games too. pygame is more than upto the task of writing beginners games however it isnt hardware accelerated and on later projects its a little slow, even the creator admits it. There are other libraries available though. You can also use the popular XNA with ironPython (python for .net) or slick or JMonkeyEngine through jython (python for the JVM/java virtual machine)

Share this post


Link to post
Share on other sites
Python's a great starting choice. It has an insane amount of applications and has 2 large libraries specifically tailored for game development. It's also good because it's fairly easy to incorporate it with more advanced languages later on as a scripting language. I'm planning on learning Python myself eventually. If you do go with python, here are some good libraries:

[url="http://www.pygame.org/news.html"]PyGame[/url]
[url="http://www.pyglet.org/"]PyGlet[/url]

For downloading and learning the language:
[url="http://www.pyglet.org/"]Python Official Website![/url]

Share this post


Link to post
Share on other sites
[quote name='superman3275' timestamp='1351444014' post='4994763']
For downloading and learning the language:
[url="http://www.pyglet.org/"]Python Official Website![/url]
[/quote]

Their official website is actually [url="http://www.Python.org"]Python.org[/url]. I'm not sure what you linked me there but I don't think that's right for downloading Python.

Share this post


Link to post
Share on other sites
I'm going to go against the flow and say Python is a terrible language. It's one of the few languages I've run across which is incomprehensible on the fifth read-through. Java is also a terrible language, old and full of legacy bad language ideas, as well as just plain [i]strange[/i] quirks..

C++ has plenty of old legacy bad language ideas and can be very incomprehensible. However, it's an open standard with decades of history and hundreds of libraries. You may not have a clue what you're doing, but you'll have a lot of options to trip over your own feet with a loaded chainsaw.

C# has only some legacy bad language ideas, is easy to read and understand, but has solid and strongly defined limitations. Also, you're stuck with either Micro$oft of Borg or GPL of Borg.

C is like C++, only there's no classes and your loaded chainsaw has no safety features.

Basic is easy to program in and understand, has a lot of safety features, but has no classes and you're quite limited to the language, unless (for a few) you write your own dlls - Usually in C++.

Meanwhile, if we ever get a compiler that can just understand English/your native language and can, in fact, "Just make me *an FPS", you'll spend most of your time giving the compiler directions like "Make the enemies harder, but not too hard" and the compiler will spend most of its time hating you and plotting to take over the world (seriously, all you need to say to kill off Humanity is "Optimize economic production".

>>> All programming languages are [u][b][i]terrible[/i][/b][/u] <<<

Pick the one that clicks with you, then learn it.

* "a" and "an" are properly used based on which flow best, not on "consonant or vowel". Also, double negatives in English add. Double negatives negating is Latin grammar, taught by pretentious English teachers. Also, "a FPS" just sounds terrible. Edited by Narf the Mouse

Share this post


Link to post
Share on other sites
I suggest JavaScript too!

It's very easy to learn. Event Based. And fits perfectly into your workflow of HTML and CSS!

Check out the Three.JS libary (If you like 3D)
[url="http://mrdoob.github.com/three.js/"]http://mrdoob.github.com/three.js/[/url]

All JavaScript ^^


Edit:
Oh yeah, and JavaScript runs on EVERYTHING :D Browsers, Smartphones, Linux, Mac and PC. (It runs on OS if you export in into a Wrapper) Edited by Schoening

Share this post


Link to post
Share on other sites
[quote name='Aus' timestamp='1351451913' post='4994815']
I'm not sure what you linked me there but I don't think that's right for downloading Python.
[/quote]
He linked you to the pyglet homepage which he already linked you to before, I think a Control-C Control-V accident has occurred. Edited by 6677

Share this post


Link to post
Share on other sites
I think you can use HTML5/Javascript to make games and not only static web-pages. The HTML5 spec has a canvas object to draw on, as I understand it (which, coupled with javascript, will let you make a game loop update/draw cycle).

Should you go with Python and Pygame, the pygame home page has a nice step-by-step tutorials series. I use Python + Pygame as it lets me focus more on the game design / design patterns / getting a basic grip on everything etc more than a graphics library API.

GL HF! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by smorgasbord

Share this post


Link to post
Share on other sites
My recommendation for anybody who wants to program, either game or more serious apps, is: Spend time learning how to program and how to write good code. Don't get too stuck on one specific language and libraries and instead learn the concept behind. This is what they teach in College/University. The language used is only a tool to learn. Once you understand how code work and how to design software, learning a new language is trivial.

That being said, Python is a good tool to learn. There are plenty of good books and tutorials on it.

Share this post


Link to post
Share on other sites
Im in my fourth year of my software dev course now, and we only started learning python this year. I think its a very easy to understand language, and does a lot of the work for you that you may fall down on in c or c++, however i think its better to use c, c++ or similar to understand why python is such a good language, my programming teacher once said to us its good to learn all the mistakes and errors a language may produce, so you can learn how they are handled properly - every question he gave us for the entire year where small bugs he had found over his carrier in c, and had told us that 90% of them never would come up for us, but they where still good to know. I think its better to learn from mistakes rather then just letting python do them for you, you'll become a more rounded programmer if you know all the pitfalls and advantages of all languages, rather then just avoiding them, you can pick and choose your language according to what you want to do. Im not saying that python is a bad choice, i dont think there are any bad choices, evan what you will learn from using a bad language will only help you. Anyways after that waffly answer :P I learned HTML, javascript and then c++, i found it an easy progression, but you'll find its different for everyone, and everyone has their own prefrences. Edited by McGrane

Share this post


Link to post
Share on other sites
Its not so much the python language as it is the libraries and what they can do for you to short circuit alot of coding on the many aspects involved in game writing.

That can be very useful in getting something to work instead of getting bogged down.

I used it professionally for a project (Im a experience C/C++ programmer normally) and as long as processing performance isnt an issue, it streamlined programming various required program aspects allowing me to get to what the project actually was.

Many of the common tasks are in Libraries and its more a matter of finding them.

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