Abstractions over what?
A large amount of code is likely just idiosynchratic information processing, because we don’t agree on data models and meaning of terms and structure of protocols.
Also we repeatedly choose easy and popular over alternatives that would require design and scrutiny.
This is why things like language models and vector databases are useful. It’s basically the most expensive way possible to give up on that notion.