Comment by skywal_l
4 hours ago
There must be a law of system design about this, because this happens all the time. Every abstraction creates a class of users who are powerful but fragile.
People who build a system or at least know how it works internally want to simplify their life by building abstractions.
As people come later to use the system with the embedded abstractions, they only know the abstractions but have no idea of the underlying implementations. Those abstractions used to make perfect sense for those with prior knowledge but can also carry subtle bias which makes their use error prone for non initiated users.
Seems related to the Law of Leaky Abstractions?
It's not necessarily a leaky abstraction. But a lack of _knowledge in the world_.
The abstraction may be great, the problem is the lack of intuitive understanding you can get from super terse, symbol heavy syntax.