I see alot of people posting shitty advice in this thread. Don't waste your money on books... they will end up just cluttering up your place. The most important step in learning programming is to learn the logic of how it works. You can learn that very very easily by starting with something simple like Visual Basic.
Download it here for free.
http://www.microsoft.com/Express/VB/
They have ALOT of great resources and tutorials on that site that will help you get a good start....
http://msdn.microsoft.com/en-us/beginner/default.aspx
Next... download Visual C# Express for free
http://www.microsoft.com/express/vcsharp/
C# has a very similar syntax style to php, perl, javascript, java, etc because they are all based on C syntax. Once you have the basic logic of developing with visual basic it's just a matter of learning how the C syntax works and then you really have an open field ahead. I think that anyone that really takes the time to go through the tutorials on the MS site and has a real desire to learn how to develop applications can learn enough to start building their own applications in less than a couple of months. If you use my method you will be prepared to learn any programming language very quickly.