An excellent argument for functional programming from Joel Spolsky.
I take exception in a couple of ways. One is that, for some of the example code, it might actually become harder to read/understand as you go further into the article. I don't think anyone would have trouble understanding the earlier versions.
Second, it's true that having map-reduce be natural to the language and, more importantly, the programming style may lend to thinking in those terms. However, I don't think that's necessary to think of using map reduce as a solution for large scale computing. It's possible to understand the concept without it being natural in the language. (I explain it regularly in non-FP terms).