Great article, but one thing that's sort of glossed over here, and that I half-disagree with, is this:<p>>But we also get to think and operate at a higher level, up in the clouds of what we want to happen, and not down in the dirty of how it should happen.<p>The author mentions this at the end, but I feel it should be stressed more strongly: The dirty of how is <i>important</i>. The author presents a big "if" here, which is: <i>if</i> the function we've built to abstract away some ugliness performs in the best, most efficient way possible, with no drawbacks, then, yes, abstracting that functionality away and forgetting it is okay.<p>But to me that's a big if. It is just as important to me to understand and recognize that <i>map</i> is fast, efficient, and to understand <i>why</i> it's fast and efficient, so that someday, if you come across a situation where <i>map does not apply,</i> you will know why, and you'll be able to use something better.<p>Being up in the clouds all the time is, to me, a pipe dream -- we must always be cognisant of the ground on which we built this tower of abstraction layers.