Lambda the Ultimate

inactiveTopic Natural Language Programming
started 4/6/2001; 7:28:30 AM - last post 4/11/2001; 12:44:34 AM
andrew cooke - Natural Language Programming  blueArrow
4/6/2001; 7:28:30 AM (reads: 2354, responses: 4)
Natural Language Programming
[...]a piece of software that allows you to write a program by keying in what you want it to do in everyday language.

It's Friday... :-)
Posted to fun by andrew cooke on 4/6/01; 7:28:47 AM

andrew cooke - Re: Natural Language Programming  blueArrow
4/6/2001; 9:52:20 AM (reads: 1446, responses: 0)
I remember listening to the radio - would have been in high-school at the time - and being amazed at this. Thanks to the Reg.

samx - Re: Natural Language Programming  blueArrow
4/7/2001; 3:14:55 AM (reads: 1436, responses: 0) for the company...

Ehud Lamm - Re: Natural Language Programming  blueArrow
4/10/2001; 5:05:24 AM (reads: 1414, responses: 0)
There was I time I was deeply interested in this sort of things. Using NLP is very common for the design of query languages, and at one time I was involved in this sort of thing. I tried to define an natural language version of our query and reporting language, but no one agreed to have it implemented...

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.

Chris Rathman - Re: Natural Language Programming  blueArrow
4/11/2001; 12:44:34 AM (reads: 1423, responses: 0)
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.