Sort:  

I feel that computers will never be able to handle decision making.

Like, do you want a red car or a blue car?
After we figure out how many of what color (5 blue, and 3 red) the computer can optimize the process of painting the cars in order to use the least time and materials.

I feel that what is really missing from smart contracts is actually language.
We have so messed up english, that a person from a hundred years ago would have a hard time, because many of the words meant the opposite of what we use now.

So, the language ; bought, shipped, delivered, paid will all need to be worked out in specific. And many of them will have subtle differences that will be codified. shipped.ups, shipped.ground...

And then the action verbs will be where things get tricky, but I feel that a whole set of made-up sounding words will become the vogue. Like uponShipping, manufacturizing...

Each of these words will correlate with specific verifiable points in process, and thus be useable in a programmatic algorithm. Then it will be as simple as A + B + C = payment.