Wow! That's a big question...
You've been using computer since '03, so at a guess you're twenty-something. So we can assume you want "real" programming rather than something for kids. That both makes it easier, and harder - easier because we can ignore LOGO and getting stupid turtles to draw stuff; harder because we have to ignore LOGO and getting stupid turtles to draw stuff... :laugh:
Ignore the hardware for the moment: You don;t need to know much about it to learn to program, and adding hardware afterwards just extends your range and the number of directions you can go - you don't need it to start with.
Here is a place to start:
http://msdn.microsoft.com/en-us/beginner/bb308754.aspx[
^], please ignore all the "kid" oriented stuff - it's actually got some good basics on programming in there, and the videos are worth watching for a complete beginner.
After that, it gets harder to recommend anything, because while there are a heck of a lot of books out there, I haven't used any of them from the point of view of a complete beginner so I have no idea how much help they will be: though it's worth a look through some in your local bookshop to get a feel for "do I understand what they are talking about?" before you even think of buying one - them things is expensive! :OMG:
Have a look at your local area and see if there are any evening or night classes introducing the basics in your area - they should be reasonably cheap and do have a tutor you can re-phrase things if you don't understand, which a book or video can't.
Language? A lot of this is personal preference, but I'd say go with C#: it's not as quick to pick up as Visual Basic, because it doesn't use "English", but equally it won't let you run anything and have your program fall over so easily: if it compiles, it'll probably run. I wouldn't recommend a complete beginner start with C or C++ (or F# or Haskel, or COBOL, or FORTRAN or Assembler, or... You get the idea). Look at them later.
Go for it! And good luck. Remember this place, and feel free to ask questions, provided you don't ask for the complete code we're mostly a friendly bunch!