How can I stop switching tools and stick with learning programming?
Asked by
MellowOrbit42
I'm 16 and have been trying to learn programming since I was 12. I started with Scratch, then moved to Python, Unity, Godot, and CS50, and I'm currently learning C after watching programming videos that use it. I've made a few simple games, but I often switch tools whenever I get stuck.
I'm dealing with two main problems: I don't know what projects to make, and I tend to quit as soon as I encounter a small obstacle. For example, I abandoned Unity because I couldn't figure out how to rotate an object toward the mouse, and game development sometimes becomes difficult when math is involved. I also worry about code organizationโfor example, I don't want an entire project to end up inside one large main function.
How should I choose a language and project, and how can I develop the persistence to work through problems instead of constantly starting over?
Answers
You may be dealing with two habits: constantly chasing a new tool and giving up when the work becomes challenging. Both make it difficult to learn anything in depth. Stay with one environment long enough to complete something, even if the result is messy.
For game development, you donโt need to solve everything from memory. Search for concepts such as converting a mouse position into an angle or separating code into functions and modules. Basic arithmetic, geometry, and trigonometry are enough for many beginner projects, and you can learn the missing parts as they come up.
Reply to this answer
Watching experienced programmers create difficult projects can make it seem like you need an advanced language or complicated idea right away. You donโt. Choose one manageable project and learn whatever is necessary as you go. A small game, command-line utility, text adventure, or recreation of a simple project from a tutorial would all work.
The important practice is not finding the perfect projectโitโs writing code, encountering problems, and learning how to solve them. That process is what builds programming ability.
Reply to this answer
The biggest issue seems to be switching tools whenever something becomes difficult. Pick one language, framework, and small project, then commit to finishing it. You can follow a tutorial to learn the basics, but afterward, try rebuilding something yourself instead of immediately moving to another tool.
Getting stuck is a normal part of programming. Look up the specific problem, read documentation, experiment with small examples, and keep working until you understand the solution. If you quit every time you reach something unfamiliar, changing languages will not solve the underlying problem.
Reply to this answer
Start with a language that lets you focus on programming fundamentals rather than fighting the tooling. Python with a simple 2D library can be a gentler path than C or a full game engine. Try projects such as Breakout, a text adventure, a calculator, a small simulation, or a program that generates project ideas.
Keep the scope intentionally small and define what โfinishedโ means before you begin. Completing several simple projects will teach you more than repeatedly restarting ambitious ones.
Reply to this answer
Add your answer
Answers are reviewed before publication.
MellowOrbit42: I also get stuck on how to organize the code. I donโt want everything to stay in one huge main function. How should I approach that?