- Ruby (I'm quite fortunate that I'm getting to use this language for money right now)
- Lisp (I've never gotten paid to write Lisp, but would like to)
- Smalltalk (note that I've never done "real" Smalltalk development, but I know about its cool features)
- Java or C# (or any other mainstream statically typed language)
Interestingly enough, I think C# has the edge on language features (the new stuff they're adding for LINQ, and not doing stupid stuff like type erasure for generics) but the libraries are awful. Java the language is getting really crusty, but they have the best libraries and frameworks in the world (and the most of them too). If you could write C# code with Java libraries, you'd really have something. Of course, they are still statically typed, so you have to pay the static language productivity tax.
- Cobol (I've never done any real development here either, and don't plan to)
- Jacquard Loom (whatever that language looks like)
- Flipping switches for 0's and 1's
- Universal Turing machine (infinite paper strip with a read/write head that moves forwards and backwards). It's just hard to find infinitely long paper strips these days.
Clearly, this represents my relatively recent evolution towards dynamically typed languages. They are simply much more productive if you assume that you write tests for everything, which I always do. Notably absent from the list is Delphi, which is so yesterday's news to me. It became deprecated as soon as C# grew all of its good features and left it behind.
This doesn't mean that I think that Ruby embodies the perfect language (haven't seen one of those yet). But, given the landscape, it feels pretty good, and I keep learning cool new stuff about it.