Best way in my honest opinion would be to grab a decent book (even from the local library) and start reading it, paying attention to the examples and doing the exercises at the end of each chapter. Some people might tell you to start with online tutorials or youtube videos.
Decent online tutorials might work, but those tend to not teach about the "little" things (that in the start might be a bit confusing but in the end you understand much more how everything works and is put together).
Youtube videos, in my serious honest opinion, suck. And why is that? Well, you are pretty much copying what someone already did and not really learning and thinking by yourself. Neither applying your own logic, which is one of the most important thing in programming. That can only be achieved by practicing your mind.
About the programming language... It depends, because no matter what language you start with, if you learn it the correct way and your actually logic improves, there is no issue between languages other than learning the syntax (the "codes").
Around the forum people will give different examples with what they started with. (Let's be honest here, most of those that started with Visual Basic or C#, creating Forms (windows) and clicking on a "button" to generate code automatically, DO NOT know how to program, and their logic is trashy... Yet they think that they know how to program for some reason..) There is exceptions tho.. obviously.
There is nothing wrong about starting with C# or VB. As long as you start programming on a console (for example) where you actually have to create loops, ifs, functions, etc..etc..etc (all the basics).
Honestly, I started with C (raw), was harder, the results visually were trashy, but now picking up any programming language seems easy and can be done quickly. But that was my choice, and does not have to be your choice.
Good luck and let us know what you think and what you are going to do.
PS: Sorry about the long post and not so perfect english