Hey everyone, happy holidays! I've made the decision to dive into programming. I dabbled in Java a few years back, but nothing significant. Since I turned 18, I've been fascinated by systems programming, GUI applications, game development, and physics engines. I've been exploring various programming resources online and watching tons of YouTube videos, but I'm feeling uncertain about the most suitable path forward. I'm planning to begin with data structures and algorithms (DSA), and tackle some past challenges from Advent of Code.
Here are my thoughts on what languages to pick from:
- **C**: It's very low-level, but I'm a bit hesitant about the complexities of the toolchain.
- **C++20/23**: It's quite complex as well, but again the toolchain poses a concern.
- **Rust**: It has an excellent toolchain, but I'm struggling to find beginner-friendly resources. Still, I appreciate its memory safety features.
- **C#**: The documentation is solid and the toolchain works well, but I worry I might want to go even lower level.
What language do you think would offer me the best experience? Are there other options I should consider? I intend to learn at my own pace during my free time.
P.S. I've been tinkering with small programs lately, primarily in Rust, and I even created a webpage using React.
**TLDR:** For someone with basic programming knowledge interested in animations, simulations, GUI applications, engines, etc., which language would provide the best experience? Any other suggestions?
3 Answers
You mentioned gaming engines, right? Have you thought about Unity (which uses C#) or Unreal (which uses C++)? Both are free for learners and come with nice tutorials to help you get started. Just pick one and work through some beginner projects to make simple games and have fun!
You can go with any of those languages — they all have their merits. But it sounds like you have a bit of analysis paralysis. If you're looking to learn DSA and do Advent of Code without a heavy toolchain, why not just start with Python? It’s straightforward, has a ton of resources, and is great for learning programming concepts quickly. If that doesn’t work for you, both C and Rust are also solid choices. Just pick one and start coding!
Haha, so true! Thanks for the reality check. I definitely tend to overthink things!
Considering your interests, C++ or Rust could be great fits. C++ has an established framework for graphics and simulations, while Rust offers a smoother experience overall and good safety features. Remember, you don’t have to stick to one forever; pick one that excites you and keeps you motivated to build things!
Thanks so much! I know it's not a lifelong commitment, but I do get caught up in productivity pressure sometimes. I appreciate your advice!

I was actually leaning more toward libraries and frameworks. I'm more intrigued by the math and physics in games than the actual game design. Hope that’s clear!