In the approach. Programs, whether the actual instruction set, the ux, the workspace they implement, what have you, are not essential to programming.
They're the output of model building, in so far that with model precise enough, you get tooling to create programs for you. Hence the program can't be the fundamental building block, the essence of computing.
We are limited in expressing our ideas in the language the computer speak when tooling doesn't help with higher abstractions, and this happens layers after layers after layers, from microcode all the way to bpel.
But the essence of using a tool is not using the tool, it's achieving the goal the tool was built for, using the tool is, at best, incidental to the tool not being automated enough.