>>1524021If you are young and too lazy to learn it yourself then just go to college, they will teach you everything you neeed to know about main CS concepts including programming and with exams you will have an efficient way to assess your knowledge (not really true but it's definitely harder if you are self-taught and most people don't have the motivation and patience to pull it off).
The syllabus of the courses will mention reference text books if you want to dig more in-depth in the subject.
You don't really need to pay and enroll in a degree, some universities (depending where you live I guess) allow random people to attend lectures or you can watch lecture recordings on youtube, you also have a lot of tutorials online, one very popular is cs50 or generally anything on udemy and similar websites will be just fine to start. Other than programming you might want to have a look at operating systems and algorithms and data structures.
Regardless of how you want to approach it what you want to avoid is what is commonly referred to as tutorial hell, once you finish your course/book (that ideally should be packed with practical exercises) you don't immediately start another one, instead you try to implement something by applying the new knowledge.
Ideally you should already have an idea about the program you need to write so you can look up the relevant tech stack for that specific task, it can be anything really, for instance a tool to manage to your files, a mobile app for your gym to have a log of your workouts without retarded ads (unless you plan to sell it), or it can be anything else that you can implement to apply a new concept like concurrency.
Refer to picrel if you don't know what you want to do. Also you can try websites like leetcode/codeforces/codewars.
As you learn it might be useful to famialiarize yourself with tools like git and the terminal, more here
https://missing.csail.mit.edu/