I'm not sure why you would 'start off' with Ruby. Ruby is a language for people who know what they want and/or are bored.
I write an awful lot of Perl at my job. Perl is not perfect, but I think it's a great high-level language for a hobbyist because it's 20+ years old, on everything, has lots of modules and support, meshes seamlessly with other Unix tools, and works. If you want to be one of the cool kids, go with Python, I guess, but Perl is more universal IMO.
I also write a lot of C in the form of avr-gcc for AVR microcontrollers. You HAVE to learn C; it's the ur-language. Writing C for microcontrollers is a fantastic (though somewhat boot-campish/masochistic) way to learn programming, with the benefit that you can create awesome embedded projects. Once you realize what you can do with a $3 microcontroller, it's like a whole world of cheap small projects opens up. Why spend $30 on a PID controller when you can write one in 30 minutes on a $3 part?
If both Perl and C are too old-schoolish, learn Javascript. Javascript is becoming something of a defacto standard. Even Gnome is letting, even recommending that new Gnome developers write GUI applications in Javascript. The browser is the modern computing platform, so learn Javascript and/or PHP if you have ambitions there.
Java/C# is like the modern COBOL. The business world runs on it. Learn it if you have to write it to make money. There isn't much attractiveness otherwise. I try hard to ignore the existence of C++, so I won't comment.