I haven't posted anything new in a while, so I thought I would take this opportunity to post about a good language for beginners interested in learning how to program. Python (python.org) is a good language to start with because it is very clean looking, and takes care of many of the details for you.
While programming isn't completely intuitive in its nature, some languages are much easier to follow than others. Python has benefits over other languages because it reads much more like a checklist than a cryptic blob of programming code.
On a technical level, it is not the most complex or powerful programming language around, nor is it the fastest. However, for a vast majority of amatuer programmers, python is plenty powerful enough, fast enough, and it is very portable. I reccomend python as the first step towards becoming a programmer, but not the only step. Once a person is comfortable with the idea of programming a computer, there are plenty of options and languages to choose from.
I actually learned C++ as my first programming language, and while it wasn't the easiest to start with, it is one of the most powerful and very commonly used. Most operating systems are built using C, and many production-level applications will use C and/or C++ as well.
However, I still found it very useful to learn python as well. I would compare learning programming languages to learning to use tools, a carpenter often needs to use more than one tool to do his work, just as a programmer needs to use more than one application or language to come up with the best solution for a particular programming problem.
Have fun learning to program, and don't be afraid to experiment!