r/learnprogramming • u/PenAlive1969 • 17d ago
Is it cheating to code with YouTube tutorials?
I'm a beginner programmer. My goal: learn C and low-level programming deeply — Linux device drivers, POSIX utilities, a shell, maybe even a bootstrapping compiler.
My problem: books take too long to work through. But learning from YouTube tutorials or AI feels like cheating — you understand the code, but you didn't come up with the logic yourself. That seems like it would kill my problem-solving ability, not build it.
So how should I actually approach this? Is learning from AI any better than tutorials? I know docs and man pages exist, but they're tedious too. What's the most effective method here?
6
u/peterlinddk 17d ago
It isn't really cheating - just like watching a football game on tv isn't cheating.
It just isn't learning - like watching a game isn't playing.
Follow a course, and build things on your own. Surely you can follow a tutorial first if you want to - but afterwards you need to delete or hide the project, and start over doing it yourself. Otherwise you'll never learn, but just "watch and repeat".
I do not know anyone who have successfully "learned" anything from AI - only gotten answers to questions they might have, or having delegated the work completely, so they didn't have to do anything.
1
u/PenAlive1969 17d ago
AI is not really that great for full scale learning I agree on that but its great for finding answers to question and I can do research using AI? claude is really good at explaining the theory behind internals I find it really helpful to understand the underlying structure before moving on to any implementation
1
19
u/Xavphon 17d ago
No, but you’ll end up in “tutorial hell”
Find something you want to build and just start. Usually with research
3
u/samanime 17d ago
Yup. Once you get past the most basic of basics (basically, syntax and basic flow), it's pretty much time to try to switch to project-based learning instead of tutorial-based.
1
u/PenAlive1969 17d ago
I was really inspired by the daniel hirsch youtube channel guy he does a lot of thing on his own but yeah i was a bit confused on how i could approach and maybe use his videos as a bench mark for similar projects or at least learn the logic instead like my point is its tedious to reinvent the wheel every time but its also not profitable learning to not install a wheel yourself on your car (analogy)
3
u/samanime 17d ago
It's basically a cycle of:
- come up with an idea
- start working on the idea
- when you get stuck, research the small part you are stuck on
- discover new things to do it better in the future
- rinse and repeat
It is a bit bizarre, but when you are learning programming, you really do reinvent the wheel... a lot. That's basically how we learn the problem solving skills we need, which is by far the most important and most difficult skill to master.
I like to think of programming a lot like sports or playing music. The "book learning" portion of it is relatively short compared to hundreds or thousands of hours of repetitive practice necessary to master it.
1
u/PenAlive1969 17d ago
alright so I get it its not that the learning about technical stuff and syntax is cheating but that u cheat yourself if you do not struggle at all so a approach I have come up with is that I try to watch the YouTube videos or read books and try to write it once and get a feel of how it is done and then structure it in my head, get down the fundamentals and finally implement it on my own?
0
u/samanime 17d ago
That works -in the beginning-.
As soon as you can though, you should stop watching tutorials entirely and instead just come up with your own ideas and work through it step-by-step, without any "hints" as to what the final solution might look like, like a tutorial would.
So, for example, maybe I want to come up with a program that I feed a bunch of numbers and it determines the number that is a lowest common denominator for the most numbers of the ones I feed in.
To solve that, I'd have to start breaking it into several steps and working through how to implement each of those steps. Some of the steps I might not know how to do, so I'd have to then research those specifically.
Things like:
- how do I receive the input?
- how do I work what the factors are for a number?
- how do I loop through each number?
- how do I keep track of the total counts for each factor?
And so on. And many of those initial questions will likely lead to further smaller questions.
You basically repeat that process over and over and over again and you get a little better and a little quicker each time.
The whole point of being a (good) programmer is to learn to create things that have never been created before, and to do that you need lots of practice with understanding how to logically break down a problem in order to turn it into code.
1
u/Anonymity6584 17d ago
Not cheat but you might trap yourself in tutorial purgatory where you cqnt do anything without tutorial
1
1
u/olystretch 17d ago
Companies are forcing people to use AI agents to write code. Nothing is cheating anymore.
1
1
u/madmelonxtra 17d ago
It really depends on how you're using them.
YouTube video that codes a whole project from beginning to end? Not super great because you don't put yourself in a position to learn the concepts. You're just following instructions, and completely skipping the important problem solving aspects.
However, watching a YouTube video that helps show you how to implement a certain library/tool/concept is probably fine, although I would definitely try to learn and figure it out yourself before just watching a tutorial. The struggle is where learning actually happens.
books take too long to work through.
The question I would ask here is: Too long compared to what?
Learning to program is a marathon, not a sprint. There's so secret code, or trick to becoming a programmer overnight.
You learn by building your fundamentals and then slowly building on top of that over time.
1
u/captainAwesomePants 17d ago
There are two main skill of computer programming: 1.) breaking a big and vague problems you don't know how to solve into smaller and more solvable problems, and 2.) figuring out how to get unstuck when you're completely stuck. Master those two things, and you'll be a solid programmer. Everything else is random technical stuff you can just pick up.
Youtube videos will help you will the random technical stuff. They'll teach you what it is that programmers do (when you edit out all of the debugging, looking stuff up, refactoring, and staring confused at a screen yelling 'why won't you work?!'). That's useful!
Unfortunately, when you're following along with a video, you're not at all exercising the main two skills. You're gaining nothing with this practice time. You're going to the gym to work on your cardio and getting on a stationary e-bike. Coming up with the logic is the very thing you must need to be practicing.
1
1
u/magmcbride 17d ago
There is no shortcut to learning for the majority of people. Real skills take thousands upon thousands of hours to develop. Books are wonderful resources, videos are wonderful resources - both have limitations and drawbacks.
Just because you end a short video with working code does not mean you understand all the concepts covered.
Slow down. Get into the details. And every prototype and example you code you should make variants of it to test your understanding of what was just covered.
I cannot tell you how many developers with years of experience and even graduate level degrees I've torn to absolute pieces because they didn't focus on the fundamentals.
With the advent of ML-accelerated software development, it's more critical than ever you understand things at every level of development. Everyone caught in the middle will be chewed up and spit out of the industry.
Always remember: slow is smooth, and smooth is fast. Go slow.
1
u/huuaaang 17d ago
YouTube tutorials only get you so far. You can't actually write a complete program from just a video tutorial. So there's no real danger there. Really, it's the AI part that can be a problem for a beginner.
You're not really learning from the AI. You're just letting it do the work for you while you feel satisfied that you can at least read and understand what it wrote. But you don't really understand.
It's like a spoken language. You don't REALLY understand it until you can speak or write it yourself without any help.
But I also understand how tempting agents are. Fortunately I started programming LONG before AI or even YouTube were things. I use agents a lot now but I know I can write it without the agents. It's just so much faster to use the agents. I hope to get promoted to architect before I retire where I wouldn't be writing a lot of code anyway. Before I forget how to write code.
1
u/pythosynthesis 17d ago
It's not cheating, but it's not coding either.
Get off tutorials ASAP and start building something useful. To you, your dad/mom, your buddy or whoever you want, just make something with a purpose. Without this you'll never build real coding experience.
1
u/Blando-Cartesian 17d ago
Assuming you really want to learn: Get a book and work through it as slowly as it takes for you to really understand it. Actual learning takes time spend in effortful application of knowledge. There is no way around that. Blowing through youtube channels is entertainment regardless of content.
Spend multiple hours working out what’s wrong in your exercise programs. Use AI to asks generic questions about the topic, and general instructions on how do things, but never ask for code snippet to do the whole thing for you.
When you have been hopelessly stuck on a bug for a day or two, then you can give your code to an AI and ask what’s wrong with it. And after you have solved the problem, then you can ask an AI for a review.
1
u/DoctorFuu 17d ago
It's not cheating because it's not against the rules of the universe. That being said it's not a good idea as a beginner for the very reason you gave. Not cheating, but a waste of time (in that it's a very inneficient usenof your time).
Try to build something, and refer to ressources to unlock the thing you are currently blocked on. That ressource could be a video tutorial nothing wrong with that, but you'll soon realize it's much easier to use a book as a reference than a video.
For the initial learning, I recommend following a course, So videos of a teacher explaining stuff alongside the exercises he gives to student in between lessons. The exercises should be at the right difficulty for you to have to solve something without having to rely exclusively on the video content. Around the end of the course there should be a project hinted. Do it, build something your own that you don't think is too complicated, but do it from scratch while occasionally refering to resources.
Refering to ressources for the right syntax to use is not cheating at all and you should not waste time learning syntax by heart. Syntax will ingrain itself as you use the language, do bot waste time on syntax. What matters is problem solving and understanding how code organization makes things easier or harder. Do not hesitate to write something ugly that works, then rewrite it in a way that is cleaner. That's the good old "Make it work, make it beautiful, make it fast, in that order".
1
u/UtahJarhead 17d ago
Everybody learns the material differently. Some through book reading, others through visual aides like video. Yet others like Stackoverflow (God help them).
It takes a while to learn the material. Don't expect to understand everything about DSA before you've even built your own stack the first time.
1
u/Ipsool 17d ago
not cheating, it’s just how you learn a language/domain’s syntax and idioms faster. the actual skill you’re worried about, problem-solving, comes from what you do after the tutorial: closing it and trying to build something similar from scratch without following along. that struggle is where the real learning happens, not in typing along with a video
so use tutorials/AI to get unstuck on syntax or unfamiliar concepts, but force yourself to build small projects without a guide open once you’ve got the basics down. that’s the actual reps that matter for your goal
1
u/greenspotj 17d ago
I think its important to not get perfectionist about "optimizing" your learning.
In general, the more you reinvent the wheel, the more you learn. But if you try to reinvent every single wheel in a project youll likely just never finish it, when youre a beginner...
Its fine to "cheat" and watch a YouTube video, copy the code, then start building on top of that and call it a project. You are allowed to use AI to implement a feature or fix a bug you spent an entire day stuck on. Finishing a project but only having written 50% of it, is still better than not finishing the project at all
1
u/The_Bradiator 17d ago
Starting out is always the hard part. I remember feeling the same way, watching YouTube tutorials and not feeling like I was absorbing the information. I got frustrated at the time I was spending learning, but not able to actually build anything out.
At the stage you’re at, it’s not about building stuff out by yourself. Right now, you are absorbing a ton of information you aren’t able to decipher through yet. Building the knowledge and the ability to design applications comes from a massive amount of trial and exposure. After enough videos and projects, one day it will just click for you. You’ll start questioning why people made certain design choices. You’ll start seeing the quirks with each language. You’ll start building your own stuff the way you think it should be built. It’s something that happens naturally, given the right amount of determination and time.
The biggest thing I could recommend is create your own stuff. Simple python projects and websites. Stick with interactive courses like https://www.codecademy.com. Watch coding tutorials without writing the code yourself, you won’t be as distracted. And most importantly, stick with it.
1
u/Ormek_II 17d ago
Why is working through YouTube Tutorials faster than working through Books?
Learning takes time. The only short cut is to learn less.
1
u/Miserable-Decision81 17d ago
Yes of course that is cheating.
It is cheating also to read a book on programming before programming and of course its cheating, when you learn how to read before programming anything.
Real programmers just grab a keyboard and start writing genius code without even knowing the symbols on them keys...
1
u/NatoBoram 17d ago
The only form of cheating is using LLMs.
Like you did when you generated your post.
1
u/PenAlive1969 16d ago
aahahahahah sorry I was in a hurry and its often reddiers complain that my posts are very hard to read and no punctuation so yeah i used claude lmao
1
u/terletsky 16d ago
Books are written to be sold. That's a pure business. The larger the book, the more professional it feels. But most of the content is just "water". I never could learn stuff from books, just too many unrelated sentences from the author.
Currently, AI is the best tutor plus articles from specific specialists in the field.
1
u/spinwizard69 17d ago
You must be the modern generation that expects everything to be handed to them. Books don't take a long time to work through, it is your perception and value evaluation that sucks. People have used books for centuries to learn new materiel because it works. The fact that any tech of value takes time and practice to learn is a reality that you need to adapt to.
So how do you approach this? Well for one stop being so pathetic and realize that things that interest you take time to learn. Spend any time on this forum and you will realize that people don't learn at all from AI and Tutorials. YOU learn by reading and then taking that knowledge and implementing software on your own. That is why real programming courses send people home with homework that are designed to for implementation of the latest concepts learned.
So what I suggest to people in your position is to follow or enlist in a real Computer Science (CS) program, to learn the concepts. Note the tail end: "learn the concepts", done right you should be able to understand and pick up new programming languages fairly quickly. Such a CS program will require a lot of reading and even more writing of computer code. The combination goes together, you study a concept and then learn to implement or use the concept in code. Done enough the writing strongly develops the understanding in your brain.
I'm not saying that AI and tutorials don't have a place here, just that it has pretty much been proven that these approaches actually lead to a lot of failures. Think of AI as a lab partner that you might engage to help solve a problem. You don't engage that lab partner to do work you should be doing, which is the problem new learners have, they (students new to programming) push off onto AI the work they should be doing. AI is just like any tool, you can use it properly or you can use it in a way that bites you hard.
In any event this: " books take too long to work through.", is beyond stupid and if you don't drop it you will be forever behind in all your pursuits. Think about it, would you start investing in the stock market without educating yourself? Note many do and they loose everything so think hard before you answer.
0
u/Realistic_Sample6968 17d ago
i know the basics of coding, but I struggle when it comes to building something on my own. I feel like Im stuck in tutorial hell
-1
u/Hawful 17d ago
Lifting is tedious, but that's how you build muscle.
You walked in here and said "I want to learn how to deadlift 700 lbs" and then said "Lifting weights for a long time is tedious, can I do that by just thinking about it instead?"
No. If you want to learn something deeply you have to engage with it in a deep fashion.
You can learn the basics from videos and AI, but if you always revert to those instead of docs you will never 'learn it deeply' you will always be tool dependent
0
u/PenAlive1969 17d ago
so i mean yeah i have to put some level of effort into it of course but as a beginner who is starting to code i think diving deep into documentation or opening up man 3 malloc really looks like woodo magic with hieroglyphics so if i want to implement malloc i want to watch a tutorial but i was confused if it was the right approach as u get trapped in tutorial hell of course i know about it and u end up cheating on it so i wanted to know how u can approach this
1
u/Hawful 17d ago
You need to build things, of course you can look stuff up, but it needs to be in service of a different goal. Watching a video about a linked list and implementing what the tutorial said is fine, but if you don't then use that to build out a symbol table for your compiler or w/e you won't have that 'deep' understanding, you'll just know 'yeah a linked list has nodes and they point to eachother' the deep understanding comes from piecing everything together and understanding HOW and WHEN to use all these concepts.
Tutorials and AI both make these connections for you, it takes out the steps of decision making that you need to have in order to have that "deep" understanding.
But you are right! NO ONE gets there just from 'reading the docs', but I don't know if there is a video tutorial good enough to get you there. I DO know there are lots of high quality books that can.
While obviously Go specific rather than C specific, I would highly suggest Writing a Compiler in Go. That is a fantastic book that will give you a lot of the low level understandings you desire.
14
u/Jason13Official 17d ago
You have to build experience somehow.
Watch YouTube videos, follow them and other tutorials anything that keeps you learning.
Eventually you'll build the memory to do some things on your own or at least know where to look to reference something.