I'm in kind of an odd spot when it comes to programming. I'm in computer science rather than software engineering (some places don't really make a distinction) and I don't really want to code programs at all. I'm actually just interested in computer architecture, the design and math behind data structures and algorithms, and concepts like how to take advantage of parallel programming.
My preferred programming language is... pseudo code! Though when I do need to implement something it's usually either in Java or C++ when I need to use it on the school's cluster of computers. It's fun thinking that somewhere hidden in the school that I have a cluster of 603 computers available for my parallel programs.

In reality though if I don't think they let me use more than 8 at a time to run a program though.
Prolog and Lisp are both pretty fun in my books too, and I've been looking at Python recently, which looks pretty nice.