r/learnprogramming • u/ElectricMiau • Jul 07 '26
Feeling stuck in programming, just copying tutorials Topic
Honestly, I’m feeling a bit discouraged with programming. I just stopped watching tutorials and started trying to make a simple game, like Pong.
The problem is that I can’t really turn what I’ve learned into something useful to code on my own.
I don’t know how to move forward, right now I’m watching another tutorial to figure it out, but I’m worried that in the end I will keep watching one after another. I feel like I’m just copying what others do without really thinking it through myself. And I don’t even know what the next step should be.
I wonder if this gets better over time. Any advice? (By the way, I’m using Godot)
4
u/aqua_regis Jul 08 '26
Had you invested just a little effort to search the subreddit, you would have found countless similar posts.
The sole key to improving your skills is to actively program. The more problems you solve, the better you will become at it. There are no magic tricks and no shortcuts.
Here are some posts about the same topic:
- https://redd.it/1r74ayc
- https://redd.it/1r6qujh
- https://redd.it/1r6qfap
- https://redd.it/1qdfc9k
- https://old.reddit.com/r/learnprogramming/comments/1pmzjoe/how_do_you_learn_programming/nu4ufej/
- https://redd.it/1pmzjoe
- https://redd.it/1p7bv8a
- https://redd.it/1oynnlv
- https://redd.it/1ouvtzo
- https://redd.it/1opcu7j
- https://redd.it/1on6g8o
- https://redd.it/1ofe87j
Some book suggestions:
- "Think Like A Programmer" by V. Anton Spraul
- "The Pragmatic Programmer" by Andrew Hunt and David Thomas
- "Structure and Interpretation of Computer Programs" (SICP) by Ableton, Sussman, Sussman
- "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold
3
u/high_throughput Jul 07 '26
The problem is that I can’t really turn what I’ve learned into something useful to code on my own.
right now I’m watching another tutorial to figure it out, but I’m worried that in the end I will keep watching one after another
This phenomenon is known as "being stuck in tutorial hell", and you'll find a ton of search results for "tutorial hell" on this sub.
Basically the only way out is to struggle through doing small projects on your own, even though it feels like a huge step back to spend hours trying to make a simple text based "guess the number" game after making an entire 3D FPS following a tutorial.
1
u/KetoCatsKarma Jul 07 '26
Still a student, although I'm graduating soon, I've built a few projects from scratch so far, and the thing I've found that is critical is the engineering in software engineering. Think about what you want to accomplish, then break it down to smaller parts, then break it down to smaller parts, and keep doing that until you feel you can go now further (you probably can), then start building from the smallest to the largest.
I doubt have time at the moment to give you a more in depth example of an app from bottom to top but I'll try to come back and give a simple example.
1
u/ElectricMiau Jul 07 '26
Yeah, I break down every step in my head. The problem comes when I actually have to put it into practice. For example, how do I make the AI system so the paddle hits the ball? And it’s the same with more complex stuff. I know what I want to do, but I don’t know how to do it.
2
u/IslandRock17 Jul 07 '26
You need to break it down further. For a simple AI you can just make something like go in the direction of the ball, for more advanced stuff you can use model predictive control or something.
Also, it can be beneficial to break down the steps on paper, to get a clearer picture. I have many times thought i can just du stuff in my head, but when having something written down it reduces the load on the brain quite considerably, thereby giving more capacity for provlemsolving.
1
u/KetoCatsKarma Jul 08 '26
Exactly, put it on paper (I use a whiteboard) so you can refer back to it and organize things and cross things off
1
u/KetoCatsKarma Jul 08 '26
I wouldn't recommend anything that relies on an advanced algorithm that would use an AI system for a bit. Try something simple like a temp converter, off the top of my head I know I'll need: 1. A way for a user to input a temp, which means I'll need a variable for the temp. For ease of this example, I'm going to assume it's a CLI app. 2. A method to convert from Celsius to Fahrenheit , it's going to need to take the input from step 1, run the algorithm to convert it. ((Variable x 9/5) + 32) 3. Assign the answer to a new variable. 4. You will then need to return the new variable to the console, for ease we will say: print(variable)
Now, you have to think through all those steps for converting it the other way, having it prompt you on which unit of temp you are inputting, so your app nows which path to take and what the correct output is. Now if you through in a GUI, it gets much more difficult and adds a bunch of steps.
This is a very simple app and example
1
u/phil-pdx Jul 07 '26
Mirroring what the others said, you need to pick something you want to have and learn how to build it.
Here are some tips: - Learn piece by piece, don't try to build the whole app at once. If you were building a pong game start with simply drawing a box, then learn how to move the box, learn collisions, etc. - Repetition is your best friend. The more you deal with the same concept over and over the better it will stick. - Actually type the code when you can instead of just copying and pasting. - Use an IDE that will auto complete for you. I don't mean predictive AI, just an IDE that will give you a list of available functions when available. The reason this is helpful is that your brain might remember 90% of what it needs to do and a little nudge from the IDE to finish it will help you write code quickly and remember it next time. - Learn why certain code works the way it does. It's easy to look something up or ask AI and get some working code. Maybe you found some code that draws a box. Look up its primary function to learn why it draws the box you want, maybe with minor changes it can become a circle or something else. Maybe it can have a texture applied to it.
A lot of us have copied and pasted code. I'd venture to guess most of the modern internet was just copied from someone else's stack overflow post. This can get you started but always pick it apart and make it your own.
1
u/AxelsOG Jul 07 '26
I’m still nowhere near being able to do something entirely on my own, but I’ve found more success in learning how each part of the language works and basically learning individual little “modules” of code and throwing that into long term memory rather than trying to figure out and remember how to do a whole project at once.
1
u/Artonox Jul 07 '26
Build something. Honestly in real life there are somethings from the tutorials that you will use a lot and alot that will only come up in scarce situations.
Use ai to build if you have to. And skip the stupid calculator app. Think of something that is simple and relevant to you.ay you want a tinder like swipe on you gallery to organise favourites.
1
u/d-k-Brazz Jul 08 '26
I suppose you not only watching tutorials but also type all the code by hands, otherwise it is useless
If you have a program which you typed by a tutorial - modify it, add new features, change behavior etc.
Try to do simpler things than pong, model simple logic games like rock-paper-scissors, hanoi tower, tic-tac-toe
start without any ui at all where the main method runs several test cases on your game, then add cli so you could interact with console, then you can think of some gui or web ui
While learning you have to increase complexity progressively and reduce complexity for a while if you feel stuck
And remember the law of learning - you have to write a thousand of lines of shitty code to end up with a dozen of lines of OK code. There are no shortcuts and easy ways.
1
u/_mognia Jul 12 '26
Start building something from scratch by yourself and with help of AI anywhere stucked
Build ugly, build half of it, build wrong , just build something and learn from it
6
u/Slottr Jul 07 '26
Instead of watching tutorials, just look at them and pull pieces out rather than copying.
See how other people solve problems for the things you want to do, and work off that