Serious Python?

Which One?

  • Python

    Votes: 2 28.6%
  • C and Derivatives

    Votes: 4 57.1%
  • Other (Comment Below)

    Votes: 1 14.3%

  • Total voters
    7

Flor3nce2456

Queen Bee
I THINK this is the right place.

I'm looking for a first programming language to learn.
I have heard from other CS people that Python is a GREAT language to learn. I've also heard it's a great language to stick with and can make some pretty advanced stuff. The question is, could I use Python to create a game with the same depth and complexity as Terraria? I know Terraria was made using C# or C++, one of the two, and XNA. I have heard that both are HORRIBLE. But DAMN popular, because despite its shortcomings, you can do a LOT with it. How does Python compare?

Most importantly, I need someone or something that can explain it in plain English. My biggest problem with Youtube videos is that they toss the "Hello World!" program at you, but do absolutely NOTHING to explain WHAT you are doing what you are and WHY. WHAT DOES IT ALL MEAN!?

I have a working knowledge of Processing and the Arduino, and a good knowledge of HTML,XHTML,CSS,etc. so I'm not 100% new to programming.
I am aware of the difference between all that.

I've been perusing the Python site and everything looks understandable, so far...
 
I think you've come to the wrong forum to talk about coding :p

HOWEVER, I have a friend who codes Minecraft plugins using Java, and I know a little bit about what he does. All I can say is Java may not be the place to start, especially if you don't even play MC. He has said once that C# is much better than Java, so if anything you should try it. I don't know anything about Python though, sorry.
 
C++ & XNA is cool. Java is cool.

I'd go for Java out of anything, literally because you can make minecraft stuff or isometric stuff like the old fallout games and Project Zomboid (If you're a child of FO3. yes, Fallout used to be isometric)

Tbh. I know JSON, thats like, knowing 1+1 in maths, so don't even listen to my opinion. ;D
 
Hey, this is something I can help with!


Let's start with language: C++ or python?
I'll stick to these language because I know them best. (I also know C, but you better use C++ than C.)

Both are very popular, for almost the opposite reasons.


C++ is a very powerful language that sits very close to the processor. In laymen terms it means that the language gives a very fine control over the way the computer runs your commands letting you save in memory usage and runtime by designing more lean and effective algorithms. C++ is usually used when programming stuff like operating systems and drivers that need to be lean and fast because their performances affects all the stuff that relays on them. C++ is also used in making big AAA games because fancy graphic tends to take computers to their limits and faster code means better performance.

The big downside is that C++ is more complicated and harder to learn. Well it's not as bad as Old stuff like Fortran or Basic but compared to Python the difference is Heaven and Earth. This is difference will mean that learning and working with C++ will take you months more than with python and you will have a lot more bugs as the code will not be nearly as readable and mistakes will be harder to find. The plus side is that you will learn A lot more about how computers operate working with C++.


If you would ask me to describe Python in a single word I'd go with "fun". Python is much easier to code and feels a lot more like you are just writing what you want the program to be rather than tell the computer what to do in each step. You can write very elegant looking code with it that make reading and understanding it far easier.

With the right libraries and modules Python is very powerful there is support for anything from 3D graphic to SVM learning. Python biggest drawback is that program written in it are slow. A lot slower than programs written in C. There are two reasons for this. The first is that in order for python to be such a comfortable language the Compiler have to make a lot more decisions as to how to compile the code, meaning that it will many times not choose the most effective ways to implement it. Second and more importantly: unlike C++, Python code is not being compiled directly to machine code but to an intermediate code that is then run by an interpreter program, a program that naturally also takes some of the computer resources to run as well. Java and C# works in a very similar manner. (They use a program called a virtual machine)
This is not a big concern if you want to make a light game that shouldn't need many resources to run. Modern computers are very powerful and optimization is usually not necessary. A game like terraria could easily be programed in python and still be perfectly playable.

Many recommend Python to beginners because it's easier to learn and understand.


There is another option though. Instead of going with C++ or Python you can use a game engine. Unity is a free professional level game engine that is very popular lately. Games like Kerbal Space program and Wasteland 2 where made on it. Unity also have an asset store where you can buy (or sometimes download for free) game assets such as sounds, graphics and more complex codes. If I remember correctly Unity uses C# as a script language. C# should be simpler then C++ to learn, especially when a game engine already deals with complex stuff like graphic processing and such.
If you have ever bought a valve game such as Half Life 2 or Portal you should also be able to download the Source game engine developer kit through steam for free.


Edit: Removed the code comparison because it won't format well on the post.
 
Last edited:
Hi,
I have learn C++ over the years and some other variants of C. I Find them very useful and the large community is useful :)...
Iv'e also learnt some Python3 and it seems to be very understand-able, which would make it extremely good for writing games.
To make a game with the depth and complexity of Terraria would be very hard and probably take ages, Iv'e tried writing a game like Terraria in C++ multiple times and have been stunted, sadly :(
That's all i can say to that, If you can learn as many coding languages as you can...
Lumi
 
Took a programming class last year, learned Python and Java.

I don't know dunk about C++, but Python is a very effective beginner language. Useful for getting the grips of the more basic elements of programming (constructors, functions, data types, etc.), and if you want to program something simple or for fun, it's also good there. Not sure about programming games, though. Never got that far. But I like the language nonetheless. Very accessible.
 
I've been learning python, and it's pretty cool. A great book(hopefully this doesn't count as advertising) to read if you want to learn it is "Learn to program in minecraft" by craig something or other. Interestingly enough, you can directly modify a java game using python.
 
Back
Top Bottom