When I was a child, I thought as a child, I acted as a child, and I modified BASIC code for hours -- to no particular end -- which taught me that I could control the computer.
As a young man, I learned VB (5), which taught me higher-level logical thinking and enabled me to program larger things.
In college, I learned Java (1.4), which showed me what VB's "events" really were, and from which I learned basic object-oriented programming concepts.
I learned C, which taught me simplicity.
I learned (SWI-)Prolog, which destroyed my view of programming, and taught me to express myself to a deductive logic interpreter.
I learned F#, which showed me that the functional programming paradigm was basically equivalent to a deductive reasoning system.
I learned Python, which taught me brevity, and that object-orientation still functioned in a kingdom of verbs.
I learned PHP, which forced me to write properly reusable libraries of code.
After college, I learned Ruby, which has shown me the power of predictable interfaces, the power of metaprogramming, and that the Art of Computer Science should be full of an unexpected and giddy joy.
I've learned Javascript, which shifted my expectations of object-oriented design, and reminded me why I like functional programming.
And I've learned Perl (5), which has shown me the utility -- nay, requirement -- for software planning and design up front.
Whether tomorrow for me holds Erlang or Go, Clojure or Haskell, Lisp or APL, I will always know that there is something to be learned from every language -- whether you like it or not.