I do think more of them would work from first principles if more (non-programmer focused) programs exposed a set of principles and allowed users to operate on them using their own logic and imagination.
Excel and some image editors do that, and people make pretty cool stuff with them.
Programmers rarely do that. A programmer sharing something means developing it enough to put in the App Store, or convincing you to run their scary shell script.
A non-programmer takes 3 existing things, uses 10% of the functionality from each one, sometimes using one step to undo unwanted stuff from the last step, and does the task reasonably fast without a single hard to explain step or unusual tool.
And these are real world problems, not just stuff coders made up as an excuse to code more.
It's the opposite of what programmers talk about all day, it's not first principles thinking, their basic building blocks are insanely high level million line apps, and yet it all works.
Maybe we could learn something from them.