• lysdexic@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I think that it’s because a) the abstraction does solve a problem, and b) the idealized solutions aren’t actually all that simple.

    I’d go a step further and state quite bluntly that these critics do not even understand the problem that the abstraction solves, and their belief is formed based on their poor and limited understanding of the problem space.

    Everyone can come up with simpler alternatives if they throw most requirements out of the window. That’s basically the ages old problem caused by major rewrites and their expected failure once the unknowns start to emerge.

    But I still agree with the article because I also think that a) the problem solved by the added abstraction isn’t practical, but emotional, and b) the idealized solutions aren’t all that complex, either.

    Hard disagree.

    There is not a single technical argument refuting these abstraction layers; only ignorance of the problems they solve. It’s easy to come up with simpler solutions if you leave out whole sets of hard requirements.

    The idealized solution never leaves the conceptual stage because the idealized solution is never thought all the way through and the key requirements are never gathered. That’s when the problems solved by the abstraction layers rear their head, and what forces these critics to face the fact that their proposed solution is inconveniently converging to the real world solution they are complaining about, but that they are reinventing the wheel poorly.