logoalt Hacker News

sublineartoday at 1:14 AM0 repliesview on HN

Abstractions don't give up control. They remove options.

In the best cases, those options were redundant or irrelevant to your goals anyway (compilers most of the time).

In most cases, they add mild inefficiencies (OSes, libraries, frameworks, build tools, etc. and sometimes the compiler).

In the cases of LLMs, WYSIWYG, low-code, etc. you're straight up throwing the baby out with the bathwater and setting the house on fire while you're at it too. Such is impatience and greed.

This distinction between control over the outcome and the available options is no longer as subtle as it once was in the bad old days when everyone was more naive. It is genuinely interesting. I'm not wanting to be negative for the sake of it. I actually think we've had glimpses of more reasonable compromises in the highly constrained by committee environments of app/web dev.

There is a degree to which you can retain control with those higher-level abstractions, but it tends to be just as much or more work to maintain the illusion for their less experienced end users. You end up with more scaffolding than building. This is ultimately why we hire devs anyway and abandon those tools.