Programming Languages: Python, C for Games & Apps

  • Thread starter Thread starter Cake
  • Start date Start date
  • Tags Tags
    Programming
AI Thread Summary
Studying Python and C provides a solid foundation for physics courses and game design projects. Python is a high-level language that offers flexibility, while C is a middle-level language known for high performance. For game development on various platforms, specific languages are recommended: Java for Android, Objective-C or Swift for iOS, and C/C++ or Java for Windows and macOS. C# is also prevalent in Steam titles. Understanding the core concepts, data structures, and algorithms in C is beneficial, even if transitioning to languages like C++ or Java later. The choice of libraries is crucial, as they can significantly impact project complexity and documentation quality. Learning multiple programming languages becomes easier with a solid base, and the programming style—such as object-oriented or structured—will influence future projects. Resources like "Code Complete" by Steve McConnell are recommended for improving coding skills, alongside exploring documentation, testing, and interface design as part of the learning journey.
Cake
Messages
100
Reaction score
16
I'm studying Python and C right now to build a good base for my physics courses as an undergrad. However, I'm also interested in languages involved with PC game design and Android/iOS devices. Was wondering if python and C will meld well with the programming required to undertake projects like those and what languages those projects entail. Projects I've thought about are games designed to acquaint people with mathematical and scientific concepts, and just outright storytelling. Thanks ahead of time for any assistance.
 
Physics news on Phys.org
For Android then Java is the language of choice athough other Java based languages like Scala or Clojure can be used.

For iOS then Objective-C or more recently Swift.

For Windows then C/C++ or Java and others...

For MacOSX then Objective-C, Swift, C/C++ or Java and others...
 
jedishrfu said:
For Windows then C/C++ or Java and others...
I've heard C Sharp is used a lot in Steam titles. I guess that falls into other. Does the "other" category typically depend on what the person is trying to do with their product?
 
I found that once I had a good basis in a language or 2 you can pick up on another one really quickly.
Just comes down to the nitty gritty syntax and what not which is easy enough to handle :)
Most of my google searches end up <some function> in <some language> :
 
OP, the combination of Python and C is an excellent choice for starting out (one high-level flexible language and one middle-level high-performance language). Later you probably want to replace C by something else (e.g., C++ or Java), but it is still very helpful to obtain a deep understanding of the concepts, data structures, and algorithms which can be expressed already in the C language. This information is not wasted when going to more powerful languages.
 
jedishrfu said:
For Windows then C/C++ or Java and others...
C# is used a lot in Microsoft products.
 
Often the language isn't the big part of the pain on a project. Often it's the speciality libraries that will consume your time. For example, in Windows, you will get some kind of library with window features and functions. Whatever library you use will be where you spend a lot of your time. And that will be specialized to that library on that platform, because it will have quirks and weirdness. And may be documented less well than ideal. And when you join somebody else's project, you may not get a choice on what libraries you are using.

As cpscdave suggests, once you learn a language or two, the next language is a lot easier. The only thing is, will you learn a given style of programming? For example, will you learn object oriented? Will you learn structured? Will you learn some other approach? And will you learn development cycles like rapid prototyping, classic waterfall, and so on? That will depend a lot on what the projects are that you may join.

There are a ton of books out there on any of these subjects. It will be tough to figure out which one to read first. One very good general book on doing a good job at the coding task is _Code Complete_ (now in the 2nd edition) by Steve McConnell. Excellent book, highly recommend. Once you get some of the basics of coding well, then go find books on the specific task or approach.

There are lots of other subjects: documentation, testing, interface design, source code control, all up and down your arm with a long shopping list. You can't learn them all at once, so you need to pick what you have time for now.
 
Back
Top