In his Artima blog post “Typing like a Functional Programmer”, Christopher Diggins passes on some information about functional programming — currying, specifically — to programmers more used to imperative languages.
For me, Python fired my interest in functional programming. It’s not a functional programming language itself but it provides a gentle introduction to the paradigm for programmers (like me) raised on C and C++. In my spare time I’m working slowly through the classic textbook Structure and Interpretation of Computer Programs with a group of ACCU students. I wonder why functional programming isn’t more popular (perhaps I should say “more widely used”). My personal hope is that, as multiple-core processors become common place, its time has come. A pure functional programming language offers opportunities for parallelisation without the hideous complication of hand-written multi-threaded code.