&gt; They save you a couple of lines or a few opening &#x2F;closing braces but they make code more difficult to understand<p>There is a massive confounding factor: popularity, in the sense of what is familiar to the largest number of people.  And this, in turn, is largely an accident of history, politics, and marketing.<p>Which is to say, sure, more people will understand a &quot;for&quot; loop written in the familiar C&#x2F;Java style than a &quot;map&quot; one liner.  But that does <i>not</i> mean the &quot;for&quot; loop is easier to understand, in the sense of expressing a concept naturally and declaratively.