The Pragmatic Programmers propose a rule that you should learn one new programming language each year to stay sharp. For this year my plans involve 3 languages, Parrot assembler, BPEL business process definitions and finally OCaml, which seems to be a very nice functional language with free (as in freedom) quality implementations available on all common platforms. Based on ideas in Parrot and the uptake of Python + Ruby I think it is safe to say that your standard programming language is undergoing fundamental changes these years, adopting more and more of the proven but hitherto purely "academic" programming techniques. Interesting news is that the platforms (notably .NET) are keeping pace with this development as well.
There is of course a fork of interests where platform vendors seem to favor tools and complexity and open sourcers seem to favor language invention and compactness. The languages I mention above are good examples. The BPEL spec is rough going, heavy on concpets and XML gunk and it is almost impossible to think of an application made without heavy dute design software. The OCaml distribution on the other hands drops us back into the immediate console of yesteryear. Where parrot is going it is too early to tell.
An OCaml tutorial may be found here.