I think that code readability is different from system comprehensibility, and that readability is merely a subfactor to comprehensibility. Readability often means the time it takes for me to grok a function, module, or unit of code, and often what fits on my eyeball.<p>System comprehensibility is how long it takes for me to learn the minimal set of atoms in order for me to comprehend an entire system.<p>Rob Pike criticizes map and reduce and other functional idioms as not machine simple. And although Rob Pike doesn&#x27;t say this, I might argue on his behalf that functional code has a mild reputation for less readability.<p>But I would argue that functional idioms permit tasteful tradeoffs between machine simplicity and system comprehensibility. I would also argue that when a system gets to a certain largeness, I would be sometimes okay with sacrificing some readability and machine simplicity for system comprehensibility. I would also say that although I might lose some performance advantages with a functional approach, the improvement to system comprehension might mean an improved cognitive capacity for the human to optimize for distributed multi-core contexts, which might offset the losses from machine simplicity.