Byte's pretty much the residential expert here, so I'll defect to her recommendations.
However, I used to program quite a lot, but my lovely teachers in college kinda sucked that out of me. I used to program heavily in C++, which is a powerful language, but not very intuitive for the newcomer. The language does little to assist the programmer. Java, like Byte said, is a good language that is universal (works on all OSes) and is relatively powerful. Perl, if you're a UNIX geek like me, is super-powerful as a scripting language. Very good for system administration tasks, but it has its other benefits. Perl, however, is a language that takes a special person to love it. In other words, if you're not already insane, Perl will drive you to it.
So, best thing is to pick what it is you want to do. Java, like Byte said, is a good swiss-army-knife of PL's, and is a great place to start. However, if you are big on web development, PHP is a great language for that as well. PHP is also very friendly with mySQL, an open-source database. You'll often hear of something called "LAMP" stacks when talking about web servers, which refers to a certain web-server build that is heavily used: Linux, Apache Web Server, mySQL, and PHP.
If you find these two languages a bit more complicated, though, Python is another good language to look into. Python is very newbie-friendly, and can train you up in certain concepts before you jump languages and start getting comfortable with thinking in pseudocode and not getting hung up on syntax.