I'd recommend a variety of types of language, from fairly low-level ones like C, to something higher like python/perl. It's worth learning a little TCL because it's used by loads of useful stuff like expect, and it has such minimal syntax that it's a breeze to learn.
If you're feeling adventurous, maybe dabble with a little assembler (this will give you some insights you simply can't get another way). A nice way to do this is write something for a simulated embedded environment. Flash some LEDs
For a laugh, perhaps try something wacky like prolog or lisp, but don't expect to come out of it acting like a normal human being. (lisp will have you dreaming in brackets).