I sat here for nearly half an hour, trying to compose a response --- because while I think that programming is one of the most gratifying skills I have, your question forced me once again to realize that I don't remember how I acquired it.
Learning to program is not at all like learning to juggle --- it's more like learning to read. When I learned to juggle, each new complication made practicing harder (5 balls vs 3); when I learned to read, the very act of reading had side-effects (new knowledge, the recognition of allusions) that made reading easier.
Because of that, it's impossible to say, "Oh, I learned to read last Wednesday." The process is gradual and it is governed by arcane laws of acceleration. The same thing happens with programming --- learning helps you learn faster! So don't worry about your first step --- even if you pick up the worst programming book ever written. So long as you persevere, the knowledge you gain will make picking the next book easier.
As long as I keep reading, I am still learning to read. As long as I keep programming, I am still learning to program. All you need is enough information to start --- and that can come from any book, or any tutorial!
For an ambitious start, try the books and tutorials recommended at the very bottom of this page: http://norvig.com/21-days.html