Re: Natural language programming?

From: Roger Johansson (no-email_at_home.se)
Date: 11/08/03


Date: Sat, 08 Nov 2003 00:21:12 +0100

Programmer Dude <Chris@Sonnack.com> wrote:

>> Everything a human wants to achieve is possible to express in
>> human language.
>
>The problem is more on the flip side. Human language can express
>impossible concepts (e.g. sound of one hand clapping).

I never said that we need to parse all the meanings in human
language, we just need to use a small subset of human language
to control a computer.
(If you had read this, which you have quoted from me a few lines
further down, you should have realized that that objection is not
valid here. Don't you read the whole message before you start writing
an answer? Are you treating a newsgroup like a chat, replying to each
sentence you read without looking at the whole message?)

>There's also the issue that most human languages are *extremely*
>redundant and verbose. Also, often (social) context sensitive
>(not to mention they aren't context free in the grammar sense).

I never said that we need to parse all the meanings in human
language, we just need to use a small subset of human language
to control a computer.
(If you had read this, which you have quoted from me a few lines
further down, you should have realized that that objection is not
valid here. Don't you read the whole message before you start writing
an answer? Are you treating a newsgroup like a chat, replying to each
sentence you read without looking at the whole message?)

>> I never said that we need to parse all the meanings in human
>> language, we just need to use a small subset of human language
>> to control a computer.

>> We can express precise and complex things in human language.
>
>Complex certainly! Precision usually requires care and--often--
>a reduction or formalization of vocabulary and/or grammar. Very
>much exactly what a programming language already is.

Exactly what I said:
I never said that we need to parse all the meanings in human
language, we just need to use a small subset of human language
to control a computer.

>> They don't allow us to express bits and bytes, but the human who
>> programs a computer have no need to know every detail of the inner
>> workings of the computer.
>> A human who drives a car have no need to know every technical detail
>> of how the car works technically.
>
>*CASUAL* users, yes. Mechanics, no. Same with programmers, I'd bet.

When you program in a high level language there is no need to know
details about bits and bytes at machine language level.

>> So because some people with overheated brains can learn to read perl
>> fluently they can stop others from developing a more human way of
>> programming computers?

>No, more the simple experience that human language is a poor way to
>program. I think you would find it *harder* to use a human language
>for any non-trivial project.

I wasn't talking about the full human language, I was talking about a
small subset of human language.

I never said that we need to parse all the meanings in human
language, we just need to use a small subset of human language
to control a computer.
(If you had read this, which you have quoted from me a few lines
further down, you should have realized that that objection is not
valid here. Don't you read the whole message before you start writing
an answer? Are you treating a newsgroup like a chat, replying to each
sentence you read without looking at the whole message?)

>Consider giving someone a detailed, human language description of
>some fairly complex task. Now consider doing that using a special
>language designed for the purpose.

I never said that we need to parse all the meanings in human
language, we just need to use a small subset of human language
to control a computer.
(If you had read this, which you have quoted from me a few lines
further down, you should have realized that that objection is not
valid here. Don't you read the whole message before you start writing
an answer? Are you treating a newsgroup like a chat, replying to each
sentence you read without looking at the whole message?)

>For example, imagine giving someone directions to a location that
>is far away and requires many roads and turns to reach. Compare
>the list of human language instructions to a simple, single map.
>Consider also the potential ambiguity of instructions: "....blue
>building?? I don't see a blue building!! Think he meant that
>sort of "aqua" colored office over there??"

If we use the reduced human language like north, south, west, east,
instead of computer terms like -2, +2, -1, -2, for example.
That doesn't make the instruction set different for the computer, but
is a lot easier for the human to use, because we are using a small
subset of human common language instead of special programming
language terms.

That means that even people who have not studied programming would
understand the program.

>> I think we can program computers without formal grammers.
>> You, who have learnt that, do not think so.
>> Is that an unnecessary limitation of your world or mine?
>
>I think I'm the most superior life form extant.

Just like the shamans in Siberia.

>You probably would disagree.

Yes, certainly. You are both very convinced members of a special
language group, you have learned some special rules, and you both have
a lot of self-confidence which does not have any basis in reality.

>Is that a limitation of your world or mine?

Considering that you and the shaman are hopeless antiquated fools who
will have to relearn a lot before they can join the rest of humanity,
that is a limitation of yours.

We have already seen above that you can hardly read clearly what is
written in a simple message, because your belief is blocking your mind
completely. That is a big limitation in your ability to see the world
for what it is.

>The thing is, "thinking" something is one thing. *Implementing*
>it is another. And "IS A GOOD OR WORKABLE IDEA" is yet another.

Look at REBOL for an implemented example that comes close to what I am
talking about. A high level programming language which comes fairly
close to natural human language.

>>> If you can't deal with the very minimal levels of precision
>>> of expression required by language grammars, you shouldn't
>>> engage in programming,
>>
>> Here we are again, "you shouldn't talk about programmin", you
>> shouldn'r use this newsgroup", "you should shut up", because I am
>> getting confused and irritated..
>
>Calm down. You're over-reacting.

No, I am not. I have studied formal sciences, math, logic and computer
science. I know enough of the formal sciences to know what is possible
and not possible, what is necessary and not necessary.

People who know just a little formal computer science often think that
all they have learnt is necessary.
That is a common problem for people who have very little general
knowledge but have a little more in a small field. For example totally
uneducated people who have only read the shaman book.
They know very little, but the little they know fill their brains
completely, because there is no other knowledge there.

Most newsgroups, and most siberian regions, are dominated by such
socially dominating people, who have very little general knowledge,
but some knowledge in a special field, and they use whatever means
necessary to defend their own elite status.
They don't even read what others write very closely, they just clamp
down on everything which does not fit into their small world.

>The fact is that programming a computer *requires* precision on the
>part of the programmer. If one isn't capable of that level of
>precision one will be a very poor and frustrated programmer. It IS
>that simple.

I have not denied the need for precision in the functioning of the
computer.

I never said that we need to parse all the meanings in human
language, we just need to use a small subset of human language
to control a computer.
(If you had read this, which you have quoted from me a few lines
further down, you should have realized that that objection is not
valid here. Don't you read the whole message before you start writing
an answer? Are you treating a newsgroup like a chat, replying to each
sentence you read without looking at the whole message?)

>Programming is a form of mathematics.

Yes, to the computer it is a form of mathematics.
But that does not mean that the human who handles the computer needs
to use mathematical language to control it.

>Neither are professions for
>everyone. Really, NO profession is for everyone!

Most people could program computers if we use high level natural
language-like language to program them.

The problem we have today is that many programmers want to exclude
other people from the field of programming by keeping an unnecessarily
complicated programming language.
Some do it because they have become convinced that it is necessary,
others just want to keep their privileges as an elite group with a
language which others do not understand.

-- 
Roger J. 
(My email address is a spam trap, do not use it)


Relevant Pages

  • Re: Increasing efficiency in C
    ... > You keep control of everything. ... C is a 'lightweight', *flexible* language. ... Depends upon the machine, but yes, imo one should ... nor 'plug-board' programming ...
    (comp.lang.c)
  • Re: Natural language programming?
    ... >> You repeated 6 times that human language is too ambigious and too ... >> complex to be used as a programming language. ... Now we know who are the male minds around here, ...
    (comp.programming)
  • Re: RS232 Datalogging and Control
    ... data acquisition and control software. ... programming language that you don't have to learn syntax for. ... Unfortunately my expertise in this area is somewhat out of date. ...
    (sci.electronics.design)
  • Re: C or C++ something else....
    ... every language construct is relatively clear. ... OO guru Bertrand Meyer in the best book ever written about OO programming ... C++ you know - it's a OO language where you still have control over memory ... management and re-writable strings. ...
    (comp.lang.c)
  • Re: Natural language programming?
    ... > language, we just need to use a small subset of human language ... pretty much have a programming language). ... A high level programming language which comes ...
    (comp.programming)