Even though C does not meet many of your criteria, I'd say that learning it would probably be most useful (especially down the road). As for more academic languages, I don't think you can get much more theoretical than a Turing machine. There is actually a language called
BF (I'll leave the acronym decoding as an exercise for the reader) which implements a Turing machine. I found BF very interesting to learn and understand.