Youtube has lots of videos as well on programming if your looking for learning by example. I have used youtube myself not for how to program but for figuring out my way around an IDE. Watching someone else show the steps on how to start a project and compile a project etc might be helpful when there are so many functions and its an overload of where to go and what to do.
Many youtube videos dont go into ( WHY ) something does what it does, and this is where a real course attended in Introduction to Programming would be beneficial because questions that youtube cant answer a teacher/instructor generally can.
If you are the type of person who can use a book and follow it precisely there are all sorts of programming books out there with labs in them to follow like a cook book to making a program that works and if you get an older edition of a book you can get them very cheap. Back when i was in college I saved myself about $75 by buying the 2nd edition of a book used when the 3rd edition was suggested. The only differences was a few more examples added to make a section more descriptive.
From my own mistakes with learning programming since the mid-1980s and not being a master of any language but familiar with a bunch of different languages, its best to figure out what you want to program. Do you want to program for android devices, do you want to program for a websites web server, do you want to program games, do you want to program complex calculations that perform encryption and decryption or scientific research, or something else. Each language has its pros ( strengths ) and cons ( weaknesses ) for implementation towards specific programming goals.
Given that you mention Linux and Windows... My language suggestion is to learn Python and go from there. C and C++ I wouldn't suggest for anyone that never programmed before. Python is very platform flexible and used a lot. Once you master structure and internal functionality of object oriented programming with reuse vs putting in redundant instructions you will then have a good foundation to build from to explore other languages and when learning another language it will be far easier because you know how a FOR loop works for example vs a WHILE loop and then you can just learn the syntax of it all but the structure is all very similar, then dive into C or C++ with dependency needs etc if you want something more complex or any other language of choice because you know the internal workings of a program structure and just need to conform to the specific syntax of that language.