3 ms·
Hard disagree. I think we primarily make progress as engineers (and a species) by making better abstractions. Yes there are some leaky abstractions, SQL is a
by zug_zug 3y ago
Hard disagree.
I think we primarily make progress as engineers (and a species) by making better abstractions.
Yes there are some leaky abstractions, SQL is a great example. But there are plenty of systems that don't leak (e.g. harddrives with constantly dying sectors), and the more you think about all the abstractions the more you have to admit that nobody could get their job done if they had to understand every bit of the computer and the cloud platform and the software.
I think progress is made by standardizing on the right abstractions. What the purest and best form of progress is is something like half of the internet being wordpress. Progress is building tremendous things with the least amount of learning expense necessary.
AI will help get us there. Some day soon AI will write queries and it'll do it better than most companies need before they're profitable.
- ManuelKiessling 3y agoCivilization advances by extending the number of operations we can perform without thinking about them. – Alfred North Whitehead
- omginternets 3y agoThe counterpoint is that these extensions are systematically produced by people who do think about them.
- jolmg 3y ago> Hard disagree. I think we primarily make progress as engineers (and a species) by making better abstractions. Abstractions are produced and consumed. You can make your abstractions better, but that doesn't mean you won't have to deal with leaky abstractions done by others. Also, having depth in understanding is not only good in cases of leaky abstractions. It's also good to have a better breadth of options for what's out there. If layer B is built on layer A, but you just know B, you might end up building layer C on top of B that's very much like A, but worse in bloat and convolution. Like making a server that serves requests passed as files via NFS because you didn't know TCP sockets existed.
- marginalia_nu 3y agoDunno if what we're making by building ever higher jenga towers of abstractions is actually progress. Most of the software that is built that way hasn't significantly increased in its actual capacities in the last few decades (despite running on a thousand times more powerful hardware). The software that has brought new things to the table has mostly been built close to the hardware, far away from the apex of the software stack. Stuff like redis, the recent AI boom, none of that is built in wasm or electron. The genuinely impressive leaps forward haven't been made by gluing together APIs or python calls. From a personal experience, whenever I've built something genuinely new or impressive, it's always been by combining high and low levels of abstraction. If you're limited by what you can do with e.g. a DBMS, there are things a computer could do that you simply don't have access to. If all you understand is the abstraction, you probably won't even see that. With a deeper understanding of the stack, you can bypass that limitation and in some sense work miracles. Having access to higher levels of abstraction is also important though. Being stuck building everything from the ground up would be just as limiting as being unable to lower the abstraction level when necessary.
- SanderNL 3y ago> But there are plenty of systems that don't leak (e.g. harddrives Until they do. Had to deal with this recently. Not easy. I got physically unwell when I read "the purest and best form of progress is is something like half of the internet being wordpress". That's like saying standardizing on crystal meth is progress. I get the general sentiment, but I wouldn't confuse "popularity" with "progress".