I've been trying to break into programming for a while, but I keep losing interest. I've made several attempts at learning Python but never stick with it. I'm interested in two areas: game development and possibly system programming. I dream of creating 2D games that are visually appealing and tell a captivating story. For system programming, I'm thinking about developing a custom Linux installer or creating some useful programs, but I'm still figuring out exactly what I want to do.
I've heard mixed advice about how to learn programming. Some people suggest starting with Python and gradually increasing the difficulty, while others say to just pick any language since you'll learn from your mistakes. Additionally, I've been told that many YouTube tutorials aren't ideal for beginners, as they assume some prior knowledge. Others believe it's essential to understand the fundamentals of the code itself before building projects.
I'm feeling a bit lost in all this conflicting advice. Should I give Python another try, or would a language like C, C#, Rust, or Go be better? I'm eager to find an approach that clicks with me and helps me determine if this hobby really suits me.
3 Answers
If game development is your focus, think about the type of game you want to create, then find the engine that best suits that style. Start with watching a few tutorials for the basics, and then jump right into creating something simple like Rock, Paper, Scissors or Tic-Tac-Toe. This way, you can learn programming concepts in a context you’re already familiar with, making it easier to progress into your more ambitious ideas. Remember to break larger problems into smaller parts to make them more manageable.
Starting with Python is definitely a wise choice, especially since it's beginner-friendly. Don't worry about mastering the entire language first; focus on building a simple game. If you run into limitations with Python that hinder your progress, you can always switch to a different language later. The experience you gain will help you decide which language to pursue next based on your specific needs.
I think a more hands-on approach could help you. Instead of starting off with abstract concepts, dive right into projects that excite you. If you're looking to make a game, start making one. Use Python since it's easy to learn, and tackle challenges as they come. This way, you learn the language in context and stay motivated because you're working towards something tangible.

That sounds like a great approach! Thanks for the suggestion.