I've used computers since a very early age, and have always considered myself fairly technologically competent (particularly regarding hardware).
However, I'm increasingly keen to learn how to program. Ideally, I'd like to get a more thorough udnerstanding of how computers work, and possibly make some cool stuff. I work in finance, so this is going to have no bearing on my career. The problem is, I've no idea where to begin. Should a complete newcomer start with C? C++? VB? Perl? Python?
Also, is it possible to learn any of these online, as opposed to buying some naff Programming for Muppets guide??
Feedback would be appreciated.