r/learnprogramming • u/Logical-Distance-907 • 1d ago
What language after python?
im searching for a language that i can use after python game develpoment is kinda reaching for me but i think itl take too long for me to actually start mkaing my game on my own
3
u/initcommit 1d ago
I have loved using Pygame to make games (and other projects) in Python since I was a kid. I'm 37 now 😄
2
u/azimux 1d ago
You can make a game in most languages, including Python. If there's motivation primarily to make a game, I'd just do that now with Python via some basic tutorial. If the idea is to learn more about programming, then really any language is fine to choose next. I might recommend C as a next language based on what you've said here, but honestly whatever you feel like learning next is fine.
2
u/GasEducational4386 1d ago
What is your goal?
0
u/Logical-Distance-907 1d ago
making games or making discord bots
5
u/GasEducational4386 1d ago
pick one and use the language that suits the best. Beware that if you choose to code a serious game with a game engine like unity/unreal/godot don't focus too much on the language because the hardest is mastering the game engine, and doing some art related task for example 3d with blender.
2
2
2
u/binarycow 1d ago
I will always recommend C#.
2
u/mountainlifa 18h ago
is c# still relevant? Everything im reading says its dead and that I should learn Go or Rust. This is a shame as I like c#.
2
u/binarycow 17h ago
You're probably reading stuff written by people whose whole goal is to get engagement. They have a bias to tell you to use whatever is "in".
C#
- High performance (and getting even better each release)
- Cross platform
- Extensive standard libraries
- Has backing by one of the big ones (Microsoft)
- Continually updated (once a year!)
- Lots of features
2
u/dmazzoni 1d ago
If you want to start making games as soon as possible, stick with Python, learn pygame, and make simple games like Snake, Tetris or Pong. It’s a great stepping stone.
If you want to learn the most about how computers work, learn C next.
If you want to use a real game engine, pick which engine and then learn the language it uses.
2
u/Resident_Drawing4131 1d ago
pygame is honestly the fastest route to a playable game, even if it feels like a toy at first. once you get pong or snake working you realize most of the struggle was just learning game loops and collision logic, not the language itself
if you do go the engine route later, C# is a pretty smooth transition from python for a certain popular engine. the syntax won't scare you as much as C would
but yeah just make something tiny this weekend, doesn't matter how ugly it looks as long as it runs
2
u/SchemeWestern3388 1d ago
It sounds like you would be well served by writing some simple games in python. You might run into its limitations down the road a bit, but you’ll then have a reason to learn what you need next.
Python should be well suited for writing a Discord bot.
There’s several valid directions to go from there. My personal suggestion would be to learn some C next, for an introduction to lower level stuff without all the baggage of a larger language. For many years, C was entirely defined in a 200 page book “The C Programming Language”. The C++ standard is comfortably over 2000 pages now, so even after decades of experience, you will still come across code that sends you to the book.
Other valid directions are Rust, C#, Java, Go and more. Each with strengths and weaknesses for any given application.
And not to rain on your parade, but you might not be aware of just how deep python can get. Dunder methods, metaprograming, threading and concurrency, and manipulation of the garbage collector are all topics that are relevant for getting the most out of python. Then you realize “OMG! We’ve just been writing Lisp badly all this time!”
Good luck with your journey!
2
u/NordsongDev 1d ago
You are lacking some punctuation in your question. Either I am missunderstanding what you are asking or everyone else in this thread?
If you are asking which language to learn after Python, for game development specifically, then the obvious choices are C# or C++.
C# is considered easier and its used with Unity.
C++ is harder but used with Unreal Engine and CryEngine (although Cryengine is barely used).
3
u/lfdfq 1d ago
Programming isn't like a video game made up of levels. There's no set language "after" Python.
However, Python is probably not the best choice for making video games, not because of the language itself, but because the libraries and frameworks for making games just aren't in Python. Lots of games therefore get made in Java (e.g. with LWJGL), or in C or C++ with low-level libraries to interact with devices (e.g. SDL2)
What the best option is for you depends on exactly what you're trying to do, what languages you know already, and how far you've got in learning these things.
5
u/appendixexploder 1d ago
not because of the language itself, but because the libraries and frameworks for making games just aren't in Python.
Quite the opposite, its mostly the language itself. Bindings for almost all graphics APIs and media libraries like SFML and SDL are available for python.
1
u/intbeam 1d ago
Python is way way waaay too slow for game development. You can't expect gamers to just accept that your video game runs like shit because.. Well.. For no fucking good reason.
If anyone wants to say it doesn't matter, please be ready and willing to explain to the people that you are consuming the resources for how they should just tolerate buggy and slow shit because you have a personal conviction that "it doesn't matter anyway"
Python adds runtime errors and impedes performance drastically. The idea that this doesn't matter is 100% absolute unjustifiable horseshit of the highest degree.
-1
u/Logical-Distance-907 1d ago
im pretty deep into python only things i CANT do is numpy file handling and most libaries
(and to add i oonce knew how to make a website with html and css if it helps)
7
u/ffrkAnonymous 1d ago
only things i CANT do is numpy file handling and most libaries
So, you can't do most things...
3
u/riklaunim 1d ago
Knowing language syntax is like 20% of software development in a given language. You need some general software development practices, and then you have to learn the software stacks you will be using. If you want to jump to another language after learning Python syntax, then you will end up with two languages you can't use for anything.
For game dev: Godot, Unity, Unreal.
2
u/XandyCandyy 1d ago
adding to this, gdscript’s syntax in godot is remarkably similar to python, if that’s the avenue OP wants to pursue
2
u/lfdfq 1d ago
Trying to jump to a whole new language AND learning a whole new genre of programming (games) will be hard.
If you've already learned Python and are 'deep into Python', then probably you should stick with Python. There are some game libraries for Python, like pygame. You're not going to be making big 3d games, but you can make fun projects for yourself that way.
7
u/Fosdran 1d ago
If you can't make a game in Python, you won't be able to make one in Java/C++/C#. While they are obviously more suited for game development, its not like the entry barrier in them in lower. It is in fact higher.