High-level programming is only possible once we admit that what we want to do is programming. Too often there's a perception that "configuration" is easier or safer than programming, even when that configuration is Turing-complete.
It's like the web development treadmill. You start out with HTML and some scripting. You build your non-technical users a web site, then an admin page so they can upload pictures and text to their web site. Gradually they request more flexibility and control, until you've ended up reimplementing a crappy version of HTML and some scripting.