> The thing is that spoken languages lack precision
This is true, but extreme precision is most useful if there's only communication one way, i.e. the programmer communicates to the computer how to operate and the computer does not respond (other than to execute the code). But if there's a dialog, then both parties can ask for clarification and basically perform a binary search to quickly hone in on the exact meaning.
The computer does respond. With the result of the query or the operation that I've tasked it to do. If I say `<command>`, the only replies that I expect are: confirmation if the action is dangerous; error messages if the action did not succeed; and success message if it did. I don't want to do philosophy with a tool. I only want to get a task done or create something. All the meanings for the commands are already listed in the manuals for the software that are running on the computer. And you can get training if you want targeted guidance.
This is true, but extreme precision is most useful if there's only communication one way, i.e. the programmer communicates to the computer how to operate and the computer does not respond (other than to execute the code). But if there's a dialog, then both parties can ask for clarification and basically perform a binary search to quickly hone in on the exact meaning.