You may have already heard me say that I do not have a favorite programming language. That’s true.
However, if you want to learn how to program — if you have never programmed before in your life (except maybe some QBASIC several years ago) — than Python sticks out way way ahead of the others. It is easy to get started, it is consistent across most operating systems, and you can make your programs as big, elaborate, and “real-world” as you want.
There are already a lot of Python tutorials out there, aimed towards a broad range of abilities. I’ve made my own contribution, intended for the person who is just about to install Python on their machine, and has no idea how to use the language or the tools that come with it.