>*some* people under *some* circumstances, find functional programming easy and inituitive. Mostly people with a strong grasp on math.
Now this is very interesting, because it exposes a hidden assumption I hadn't realised I was making - namely that people who are good at programming are also likely to be good at maths. Now that I'm thinking about it, that assumption doesn't seem too sound.
>Meanwhile, just about everyone, mathematically inclined or not, are already accustomed to complex procedures being described as a series of steps to be performed in sequence. If you've ever followed a recipe to bake cake, or indeed followed instructions to do *anything* you're already familiar with this mode of thinking.
I'm not especially convinced about this. I don't think instructions aimed at humans can really be said to resemble imperative programming more than other styles because they generally don't rigourously break things down into sets of steps and routines - they tend to give instructions out of order, make lots of assumptions, elide important steps etc. In some cases, I'd actually say recipes can bear resemblance to a more declarative style.
As an experiment, try following a non-trivial cooking recipe strictly in order; you will most-likely find it doesn't work when you get to a step that says 'transfer immediately to a pre-heated oven', or some step which, taken literally, requires you to have four or more arms.