Programming Languages: Python, C for Games & Apps

In summary: For Windows then C/C++ or Java and others...In summary, Python is a good language to start with when wanting to build a good base for physics courses, but C may also be useful for programming games designed to acquaint people with mathematical and scientific concepts or just outright storytelling.
  • #1
Cake
100
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
  • #2
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...
 
  • #3
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?
 
  • #4
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> :
 
  • #5
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.
 
  • #6
jedishrfu said:
For Windows then C/C++ or Java and others...
C# is used a lot in Microsoft products.
 
  • #7
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.
 

FAQ: Programming Languages: Python, C for Games & Apps

What is the difference between Python and C for games and apps?

Python and C are two different programming languages that can be used for game and app development. Python is known for its simplicity and readability, making it easier for beginners to learn. C, on the other hand, is a lower-level language that offers more control over hardware and memory, making it a popular choice for developing games and applications that require high performance.

Which language is better for game or app development, Python or C?

The answer to this question depends on the specific needs of your project. Python is a great option for beginners and for developing smaller-scale games or apps. However, if you are looking for more control and high performance, C may be a better choice. Ultimately, the best language for game or app development will depend on your project's specific requirements.

Can Python and C be used together for game or app development?

Yes, Python and C can be used together for game or app development. In fact, many developers use a combination of both languages to take advantage of Python's simplicity and C's speed and control. You can use Python for the higher-level aspects of your project and use C for specific tasks that require more control over hardware and memory.

Is it possible to develop games and apps with Python and C on any platform?

Yes, both Python and C can be used to develop games and apps on a variety of platforms. Python is a cross-platform language, meaning it can run on multiple operating systems, including Windows, Mac, and Linux. C, on the other hand, is a low-level language that can be compiled for different platforms, making it a versatile choice for game and app development.

Which language is easier to learn, Python or C?

Python is generally considered to be easier to learn than C. Its syntax is simpler and easier to read, making it a popular choice for beginners. C, on the other hand, has a steeper learning curve and may be more challenging for beginners. However, with practice and dedication, both languages can be mastered.

Similar threads

Replies
6
Views
1K
Replies
5
Views
2K
Replies
2
Views
1K
Back
Top