new programming language that will be relatively easy to pick up for someone fluent in python?
Posted by Accurate_Practice838@reddit | learnprogramming | View on Reddit | 27 comments
hey everyone! ive been using python as my main language for around 9 years. im comfortable saying im fluent with the syntax. i learnt basic programming concepts like recursion, OOP, etc through python, and its served me very well over the years.
im not a professional programmer, but i am a linux user and i like writing scripts that do a wide variety of stuff. im also an aspiring gamedev (which is the main reason i got into programming as a kid), and ive been enjoying Godot for this. ive also dabbled in some custom bash scripts, although im considering switching to zsh because of the limitations im reaching with bash. so i mostly code as a hobby because i find it interesting.
python is becoming a bit stale for me, and i want to learn something new! but i dont know which language i should start with. Java appeals to me because i love using OOP, but ive heard C languages are fast. speed is an issue ive come across a few times in python, and it would be great if i didnt have to optimize every tiny aspect of my larger projects.
so im wondering if anyone has suggestions for where to go next? python will probably always be a tool i use, but it would be nice to have another programming language in my repertoire!
Sea-Past-4654@reddit
If you love OOP and want speed, Kotlin is worth trying. Syntax feels cleaner than Java, and since you already think in Python, the transition is smoother than you'd expect. It also runs on JVM so you get Java's ecosystem without Java's verbosity.
If speed is the main goal and you're okay with a learning curve, Rust is incredible — but it'll challenge you in a good way.
For game dev specifically (since you mentioned Godot), sticking close to GDScript or picking up C# inside Godot is a natural next step.
huuaaang@reddit
I'd just focus more on the projects you want to do and use a language that is appropriate for that. If you're this comfortable with Python probably most any common language will come to you relatively easily.
Even if you don't program with it Oh-My-zsh + one of the themes (I use Powerlevel10k) is a huge upgrade over plain old bash.
0xC4FF3@reddit
Except for the syntax Java and C# are very easy for a python proficient, and they are slower than C/C++ but still faster than python
MSgtGunny@reddit
I would personally suggest C# over Java
CVPKR@reddit
In terms of job prospects too? I think I see way more java dev jobs than c# dev jobs
0xC4FF3@reddit
Me too, but they are very similar anyway
Initial-Process-2875@reddit
C# + Unity honestly. Coming from Python you'll find the syntax familiar enough, and the gamedev ecosystem is way more polished than anything else out there. Was dreading the transition but ended up being a lot less painful than expected.
Byzant1n3@reddit
As others have already pointed out, since you're into game dev and already using Godot, C# is the obvious move. You'll also get access to the enormous .NET ecosystem for desktop software, web apps, cloud services, and more.
Aside from that, I think Go would be a great option. It's got super readable syntax, is small in terms of language keywords, and has great speed for a GC language. I started learning to program mostly using Go, using it to make basic tools for my job in IT, and found it to be a solid beginner language.
jamills102@reddit
If you’re looking for a funky one: elixir
ekhorayn@reddit
Lua would be a logical choice.
kamilc86@reddit
C# is the right answer for your specific setup. Godot speaks it natively, you learn the language and double your Godot fluency at the same time. The OOP you said you love is more central in C# than Python, and the speed gap to C++ is small for game dev.
aanzeijar@reddit
If you have been using Godot already, it is written in C++ and has C# bindings, so you can use it as a Rosetta Stone for what you already know. The Godot internals are pretty readable.
yummyjackalmeat@reddit
People switch to zsh more for the interactive shell component not the scripting features. It's just another implementation of POSIX shell like bash. They share almost identical syntax, with only minor differences. I'd be surprised if scripting in zsh would solve these limitations you're talking about (could be dead wrong though). Bash is just so standard at this point. Even if zsh scripting is marginally nicer in some ways, you might hit issues that are harder to resolve since the ecosystem simply isn't as well supported/represented.
It is a great interactive shell, though. Feels a little more modern without being completely dumbed down, and as long as you still have bash installed you can always run your scripts even from z-shell.
Accurate_Practice838@reddit (OP)
ah right! ill still probably switch to it, im on Arch (as of a few months ago) mainly because i wanted to customize my desktop experience and working with bash feels so outdated lol. i script with it and use the shell an equal amount i would say, so i expect it will still be beneficial for me. thanks for the info!
Material_Painting_32@reddit
Don’t go with what’s easy to pick up, imo.
Learn C++
Accurate_Practice838@reddit (OP)
yeah, i think for most people thats the right move. i have adhd tho, and last time i tried c++ (few years ago) i got so overwhelmed by the new ways of doing stuff that i gave up after a couple days. so im going to take a smaller jump first because i know i would give up again if i went straight into it. but c++ is so versatile and i would really love to get more comfortable with it, so its absolutely a more long-term goal.
faulty-segment@reddit
THIS.
C_Pala@reddit
Go
Beneficial-Panda-640@reddit
Honestly, Go sounds like it would fit your interests really well. It’s fast, simple to pick up from Python, great for scripting/tools, and doesn’t bury you in boilerplate the way Java sometimes can. A lot of Python users seem to enjoy it because you can still move quickly without fighting the language.
If you want something that changes how you think about programming a bit more, Rust is also worth a look. Steeper learning curve, but really rewarding once it clicks, especially for gamedev/performance-heavy stuff.
Misaka_Undefined@reddit
Java
Lanky_Supermarket_70@reddit
Go? its pretty fast not too much close to python but similar and modern
burlingk@reddit
Go is kind of awesome.
howzai@reddit
if you love python but want speed and stronger systems programming, Rust is surprisingly fun next step
HumorWeak6929@reddit
Go and Rust are both solid picks from Python background. Go has really clean syntax that won't feel too foreign, and the performance bump is noticeable for scripts and tools. Rust is bit steeper learning curve but the speed gains are incredible, plus the memory safety stuff is pretty neat once you get used to it
Donkey_God-D@reddit
Since you're using and enjoying Godot, you could try to go for C# as Godot supports that too. Might have a multiple benefit for you 😄
Dangerous-Quality-79@reddit
Lua would be an easy transition (Love2d for games, which is Lua). C/C++ speed scales with your skill. If you write inefficient code, C wont fix that. If you dont know proper memory management go with Rust, Java, C#.
Scala is a pretty nice hobby language with lots of built in optimization features.
AutoModerator@reddit
To all following commenters: please, do not bring up the old circlejerk jokes/memes about recursion ("Understanding recursion...", "This is recursion...", etc.). We've all heard them n+2 too many times.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.