I'm looking for an effective way to learn programming from scratch. I've tried watching YouTube tutorials, but they haven't been very helpful for me. I'd appreciate advice on which language or learning resources to start with, how to practice, and how other self-taught programmers developed their skills.
4 Answers
Basic math and logical reasoning can help, but you don’t need to master advanced mathematics before starting. Learn the programming fundamentals first, then study algebra or proof techniques if they become relevant to the area you want to pursue. The most important habit is writing and debugging code regularly.
Start by choosing a language and working through its official documentation and examples. Don’t just read them—type the code yourself, change parts of it, and gradually combine small pieces into useful programs. Building things is usually much more effective than passively watching tutorials.
Python is often a friendly first language because the syntax is relatively easy and there are plenty of beginner resources. C is also a strong choice if you want to understand lower-level concepts, and there are excellent free lectures available. Whichever language you choose, focus on fundamentals such as variables, control flow, functions, data structures, and problem-solving rather than constantly switching languages.
Practice consistently. Work on small projects that are just beyond your current ability, such as a calculator, text game, to-do list, or simple automation script. When you get stuck, read the error message, check the documentation, and search for the specific problem instead of immediately copying a complete solution.

Thanks, that gives me a better idea of where to begin.