Learning to Program
If you're just starting out with programming, you should pick a language and start working through a free tutorial. It doesn't matter too much which language you pick to begin with, but if you don't have a strong inclination either way I'd recommend that you try Python or Ruby. They're both accessible, highly useful, and (should you ever fancy programming professionally) have buoyant job markets.
I've linked to a couple of tutorials for Python and Ruby below. Which you'll prefer is largely a matter of taste, so it's worth exploring them both for an hour or two before making up your mind.
This article by Michael Herman provides some details on the different styles of both languages.
If you're new to programming I'd recommend that you start with the official Python Tutorial first and see how you get on. Also take a look at Zed Shaw's Learn Python the Hard Way -- which takes a slightly different approach -- and see which works for you.
If you've already got some programming experience then I'd definitely recommend Mark Pilgrim's Dive into Python. I read it many years ago and learnt a lot very quickly.
You can try Ruby immediately in your web browser at http://tryruby.org/.
If you fancy a highly entertaining read, whilst learning Ruby as you go, make sure you check out Why's Poignant Guide to Ruby. It's free.
I love feedback and questions — please get in touch on Twitter or leave a comment.