The analogy to me seems similar to that of programmers and compilers. I want to write programs to do xyz, but I don't particularly care to know the lower-level to machine level implementation. Instead, I know a roughly-english set of instructions to tell the compiler what I want to do, and it takes care of the rest for me.
Could it not be possible to take this even further, to the point where I say "I want to do ..." and all of the "code," be it high or low level is generated for me.
I realize making something capable of this level of abstraction would be incredibly difficult, but it would certainly be fun to try.
In Uruguay, a tool called Genexus enjoys a high level of success promising something like that :) .
For simple CRUD apps, it's pretty much magical - and it looks awesome in demos, heck, it can generate code for every mobile phone out there just throwing around some controls, specifying your data fields and writing a few rules, but if you want to make it do something that isn't explicitly considered, it's very annoying (and it has some UI and UX problems). And don't ever try to touch the autogenerated code :P .
That said, it's probably the easiest way to get from 0 to a complete CRUD app, once you learn how it works.
Could it not be possible to take this even further, to the point where I say "I want to do ..." and all of the "code," be it high or low level is generated for me.
I realize making something capable of this level of abstraction would be incredibly difficult, but it would certainly be fun to try.