All of this is only true if (and only if) the abstraction is correct, in the sense that nothing relevant is omitted. Sometimes this is not the case, and then they make things more complex instead of simpler. Coming up with good abstractions is hard.
And there's always a price to be paid for the abstraction, be it in performance, flexibility or simplicity. As with many things, there's a trade off that has to be considered.
Posted Nov 14, 2012 12:06 UTC (Wed) by quintesse (subscriber, #14569)
[Link]
Of course, but making things more complex instead of simpler is not something unique to layers. In fact if you just keep adding more and more code to an application without any thought to structure and design you'll probably end up with a mess that nobody but you understands.
The monoculture of meritocracy
Posted Nov 14, 2012 14:35 UTC (Wed) by dgm (subscriber, #49227)
[Link]
I agree. The problem is that some think (or at least that's what they say) that abstraction is some kind of panacea that solves all problems, for free. Neither is true.
The monoculture of meritocracy
Posted Nov 14, 2012 14:40 UTC (Wed) by quintesse (subscriber, #14569)
[Link]
You get no beef from me on that point. In fact over-engineering can turn something relatively simple into this hugely complex monster. (I've probably been guilty of that myself a couple of times before learning to KISS)