First, choose a specialization. It will depend on your preferences. Do you want to write games? Create websites? Teach artificial intelligence? Be a mobile/desktop developer? This is what you need to choose yourself. I don't think that one of the fields is better than others. If you have specific criteria (salary level, popularity, number of vacancies...), just search for statistics on programming languages on web, that's simple.
After that, you will need to choose a stack of technologies which you must know to find a job later (in addition to the programming language you will have chosen). Browse job offers to see what you need to know along with the language. Sort the list of technologies in order to study and start learning.
Almost any resource will be good for a beginner IF you are consistent and persistent. I mean, you need to read everything carefully and regularly, do all tasks described and suggested by the author, look for answers which can appear during your study, etc. I know hundreds of non-programmers who just "want to learn programming" but do nothing to achieve this.
As soon as you get the first idea of what you are learning and what you need to know, you will be able to independently study and choose the best resource for you. A book, a website with lessons and tasks, a youtube channel - it does not matter and also depends on your preferences. Once again - for a beginner. I believe that to become an expert in a particular field, you need to read books, as they are more consistent and detailed. But in the first stage, you just need to get a general idea.
When you specify your goals and strategy, go to any programming community and address your future questions to them. For example, on reddit. Follow their threads to keep in touch and track the latest changes in the field.
Good luck with your learning!