It's Friday... :-)
Posted to fun by andrew cooke on 4/6/01; 7:28:47 AM
These days I have a pretty low opinion of natrual languauge programming. My main problem isn't ambiguities (see the original link) - it is expressiveness. It is simply very inconvinient to describe algorithms in natural language. You can give a high level description, which may be useful, but when you want to be exact start having longer and longer sentences, which are quite a pain to read.
What the programming language community tries to do is to find better ways to express algorithms. It shouldn't be surprising that natrual languages aren't the best tool for the job: math notation is also much easier than describing equations etc. in English.
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.