
Language and Structure in Non-Programmers Solutions to Programming Problems [pdf] - charlieegan3
http://alumni.cs.ucr.edu/~ratana/PaneRatanamahatanaMyers00.pdf
======
hacker_9
Perhaps the coolest thing about natural language is just how completely
unstructured it is compared to programming languages (which are of course 100%
structured). No one ever declares variables up front, tells you what state to
record, or really gives you any specifics at all. Natural language is
_additive_ , an immensely powerful feature to have and one I've never seen in
a programming language. People use natural language to build up contexts, with
various details, which I presume the brain then must infer structure from in
order to 'execute' the idea being discussed.

For me this is why new languages such as Rust, Go and so on don't really
interest me; sure they fix a lot of problems with some new structures, but the
real power is a language which can _infer structure from your inputs_. I
believe in the future we would write software like researchers currently write
thesis'; separating out functionality into separate document sub sections, and
then using natural language to build the idea up over the course of a number
of pages.

~~~
deaddodo
> People use natural language to build up contexts, with various details,
> which the brain then must infer structure from in order to 'execute' the
> idea being discussed.

Most of that simplicity comes from the years of built up information and
context you have. You can just say "want to go to the movies?" And be
understood because that person knows of your dropped "do you" in "do you
want", that "to the" very likely means "via motorized transport in either an
independent or shared manner" and that "the movies" refers to a physical
theatre, with a to-be determined showing.

NLP is a huge field and even the big names in the industry (Google, for
example) are far off from anything resembling basic communication, beyond
preset responses/dialogue trees.

The fact of the matter is, you're probably not getting anything resembling
intelligent human communication, til we have AI. Something that can think for
itself and create true context.

~~~
JoeAltmaier
Context is king. "Kill the man with the knife!" Who? The guy holding a knife?
How? With this knife I have right here? We can't say anything at all,
unambiguously, without immense context.

~~~
abstractwhiz
This reminds me of old style text adventures, that frequently have to deal
with this kind of ambiguity, and only manage it to a limited degree. For
example:

> kill the man

Which man?

> the one with the knife

I don't see that here.

> kill the man with the knife

You don't have the knife.

and so on...

------
panic
Recently discussed at
[https://news.ycombinator.com/item?id=11508313](https://news.ycombinator.com/item?id=11508313)

------
mangecoeur
An interesting point - a lot of people explain their solutions using "when
...", but very few languages use 'when' as a keyword (coffeescript being one
of the few popular ones).

~~~
pekk
How should it work? Should it work like "if," define an event handler? The
word itself is very natural but assigning it a definite meaning isn't as
natural.

------
Isamu
Date of publication?

Ah, 2001. Thanks for posting this, I hadn't come across this.

------
punnerud
Is there a more updated article that people can recommend? This article is
from 2001, with most references from the 80's

