AngelKnight wrote:
(tl;dr version)
If you've not actually done some assembly for some ISA out there, make that next on your list. You may never use it professionally, but damn is it useful to actually know what the CPU is really doing.
I have to agree with AngelKnight, if you haven't done it very much, an assembly language is certainly a good way to get comfortable thinking about the machine. I started with The Craft of Computer Programming, which goes though basic procedural programming and data structures in assembly (I think it was x86).
That said, I think Lisp and Forth are also good ways to go, if you want to start thinking about programming from a different perspective OR if you just want something different and fun, your Objective C and Python options would be fun to explore. I think Obj C is rather elegant (plus I also happen to love C), and Python can be super useful and fun!