Just an amendment, if he's going to jump into the weird world of functional programming I'd reccomend Lisp as opposed to Haskell. If nothing else because it has a kick-ass book:
http://www.amazon.com/Land-Lisp-Lear...&keywords=Lisp
LISP and C are RMS's favorite languages. While I think C has obviously held up, and will likely never have a replacement for true low level work, I'm not sure I'd try some Lisp myself. Just from a pragmatic viewpoint.
He says to anyone who wants to learn another programming language to definitely include Lisp on that list due partially to the read-eval-print loop.
Of all the stuff out there other than Python and C, Golang is my 3rd interest. I'd have a tough time deciding between starting to learn more about C or Go, between the two. I'm not sure I'd use either very much. C would probably be the safer bet and the standard academic learning exercise about low level programming.
Lots of recommendations for Python (and I agree with this recommendation) but something I never hear anything about is, Python 2.x or Python 3.x? Django and I am sure a lot of other frameworks are not yet compatible with Python 3 (which is amazing since it has been out for 2+ years).
I learned on Python 2.x, and use Python 3.x. Not sure it matters what you learn on.
The 2.x vs 3.x issue is mainly for people who have built very large applications over many years with reliance on large external library dependencies that haven't been ported over. And it's not so much that porting it is difficult, it's also that they don't want to have to drop support for the 2.x world.
You can write 2.x code that works on both interpreters but not everyone wants to go to that trouble with preexisting code either.
I just write 3.x code and prefer to stay in the 3.x world. Since most of my work is trivial, it's the right move for everyone though if it's a possibility.
There's enough to learn that I don't think it matters what version you learn on, and if you've never programmed at all and don't know what a function is, I'd argue it even matters less what language you 1st learn.
That said, if one sees things as I do, Python is both the ideal learning language and the ideal general purpose language. There's no reason to not do some research and find the best-bet from the start. It will save you some time later on. Unless you view it as a strictly academic exercise, then start with C, then go to Python. I don't recommend that unless you're a masochist or trying to show off how dedicated you are.
I view everything else besides Python as best tool for a niche, ie C# .Net for Windows. I wouldn't bother just to make a Windows application though eg. my Python GUI apps run well under Windows.
Django has Python3 support now. It's labeled as experimental the last I checked but it's there.