My main problem isn't ambiguities (see the original link) - it is expressiveness.In my mind, the best language for such is a goal language - like Prolog. That way, the language doesn't have to be exact, unless more than one result achieves the goal.
On other words, natural language is inherently deficient in deriving algorithms, but it might be better in determing rules. Those rules may not result in the achievement of the desired result, but they do narrow the population of possible results.
In the end, we have to determine whether an absolute result is determinable. Having worked with enuf non-techie people, I can fully appreciate their lack of understanding of computer algorithmic logic versus common sense.
Still, there are cases where reason fails (algorothims are not complete) and the program should represent some reasonable reduction of the possible truth values. Im that instance, there may ba multiple solutions, some of which may (or may not) be valid.