When Dartmouth College launched the Basic language 50 years ago, it enabled ordinary users to write code. Millions did. But we've gone backwards since then, and most users now seem unable or unwilling to create so much as a simple macro
However it is these abstractions that turn a software’s code into a Domain Specific Language, and endless APIs that need to be learnt and understood by the programmer.
See: configuration complexity clock.