The first programming languages I learned were Fortran IV, followed by Cobol. Then followed IBM 370 assembly language, which was learned for academic achievement but, like Pascal, I never used in practice.
Other languages learned included PL/I, C, Bliss, and C++. The only way I could learn the languages was to embrace their respective environments and cultures, so, for example, I saw great features in Bliss when others complained about the odious “dot” operator.
Some learning was voluntary or at least learned before the need arose to use the language, like C, C++, and Python. Other languages, like Informix 4GL, PL/I, Bliss, and VAX Macro32 comprised on-demand learning, because a new project required virtually overnight proficiency in that particular language.
Now with my summer filling up chores most programmers avoid, like rebuilding systems, planning major application migrations, and writing loads of documentation, squeezing in a learning exercise is good incentive to perform the yucky work.
I’ll get this sorted out and will learn something new.
As it turns out, I chose Clojure. http://drknucklehead.wordpress.com/2011/06/07/why-clojure/