I'd suggest either Ruby or Python. Both have a pretty simple syntax, and are very self-consistent. In other words, there aren't too many rules to remember, and there aren't a lot of exceptions to the rules. I'd say that Ruby is a bit better as far as consistency is concerned, especially in that everything is an object.
I think Ruby probably has more advanced topics (especially meta-programming). I'm not sure if that's good or bad for a beginner. It's good in that you can keep learning and use the language for a long time. But it's bad that you won't understand everything for a while. That said, I was able to take advantage of the meta-programming that other people supplied (Ruby on Rails) just fine without understanding it at first. Now that I understand it, I find Ruby to be a very powerful language, while still quite simple to use. To me, it has the perfect balance of simplicity/elegance and power.
I think Ruby probably has more advanced topics (especially meta-programming). I'm not sure if that's good or bad for a beginner. It's good in that you can keep learning and use the language for a long time. But it's bad that you won't understand everything for a while. That said, I was able to take advantage of the meta-programming that other people supplied (Ruby on Rails) just fine without understanding it at first. Now that I understand it, I find Ruby to be a very powerful language, while still quite simple to use. To me, it has the perfect balance of simplicity/elegance and power.