After five years of discussions about programming languages, there are signs that my friend Joe has started to grok the benefits of functional programming. He's listened to me talk about it and agreed that it sounds good, but he only recently did some reading that really got the message across. Read how a book on Erlang got him excited about FP.
Last weekend I went tide-pooling with a friend and two of her kids. Half way there, her son Will (7) noticed that we all had coats and complained that his mom hadn't told him to bring one. She said, "I did tell you, but only twice. I have to repeat things five times before you hear me."
We all have trouble absorbing information that seems counter to our experience. In Will's case, he couldn't imagine the cold, wet ocean breeze from the comfort of his living room. For Joe, the functional approach was just so foreign, especially given that he was solving problems so well with imperative languages, that he could never really feel any benefit.
At CUFP this year, many people speculated that the need to exploit multi-core processors would be a motivating factor for people to move towards functional programming. (Intel is betting on it.) This proved true in Joe's case. He's currently doing server work in Ruby and he mentioned a few weeks ago that he'd been running into limitations of the Rails/DB design. Reading about the ease of threaded programming in Erlang suddenly made things click.
Patience and persistence pay off. People will hear when they are listening, understand when they have the need, switch when they can no longer contain their excitement.