From: crawford@boole.mitre.org (Randy Crawford)
Subject: Re: Lisp vs English (was Re: Why Isn't Lisp a Mainstream Language?)
Organization: The MITRE Corporation, McLean, VA
Date: Wed, 27 Jan 1993 05:55:32 GMT

In article <1993Jan27.000253.28545@linus.mitre.org> john@thelonius.mitre.org (John D. Burger) writes:
>Randy Crawford (crawford@boole.mitre.org writes:
>
>  Not only is english an unstructured language (as compared with programming
>  languages) ...
>
>Well, any grammar for English would be far larger and more complex than for any
>programming language (except maybe CommonLisp :), but I don't think I'd call
>English unstructured.

`The horse ran through the barn, fell.'  No, English isn't entirely unstruct-
ured or else it'd be unintelligible.  But the number of irregularities and
contextual dependencies makes it at least context sensitive, and fully 
unrestricted as far as I'm concerned.  That's pretty unstructured when 
compared to CFG programming languages.  (I refuse to consider English as 
structured but complex.  It's too much a product of messy evolution to claim 
that.)

If it isn't relatively unstructured then it's relatively structured.  There-
fore it ought to be relatively easy to specify rules for parsing it.  Yet 
that's shown itself to be *highly intractable*.  So I consider English to be 
comparatively unstructured.

So there.  I've run rings around you logically.

>
>  Without punctuation and semantic context, it's trivial to write correct english
>  which is effectively illegible; that's illegible to man _or_ machine.
>
>You must make a distinction between syntactic correctness and understanding.  I'm
>not sure which you mean by "illegible", but if I can't parse your trivially
>written sentence, and few other English speakers can either, then it ain't
>English, by definition.

So that's the definition of English.  I always wondered.  :-]

`The girl saw the boy on the hill with a telescope.'  Legal English.  Trivial.
I can think of at least four ways to parse this.  By your definition, I'm 
illiterate because I can't parse this.

I prefer to think that your definition of English is flawed.

>
>On the other hand, maybe you meant "understand-ability"; you're correct in that
>it's easy to construct syntactically valid English sentences that I can't
>understand, but that's true for programming languages as well.  I submit that the
>C code for the phone system is not understandable "to man _or_ machine".  It's
>EXECUTABLE, but so what?  Very little code is understandable, as in "what does
>this do, in all circumstances", to machine.  Witness all the research on program
>verification.

This is getting more philosophical than I intended.  

The only compiler for English is a human.  If the person can't figure out the 
sentence, then it's useless.  Programming languages are equally useless if 
_their_ compilers can't make sense of them.  If the programming language 
source is unreadable to humans, then the programmer has written machine code.
Since nobody is lining up to program in hexadecimal these days, I have to 
conclude that source readability is the reason.  Ergo source code legibility 
is important, whether it completely and correctly describes its intentions or 
not.

If in fact Lisp is less legible than other programming languages, then that's
a justifiable black mark against Lisp.

>
>Of course, none of this distinguishes Lisp from any other programming language,
>but I just wanted to suggest that as far as "legibility" (which I read as
>"understand-ability") is concerned, natural and programming languages are perhaps
>not that different.

But they're not exactly equivalent either since no machine in the world is
capable of making sense of varied natural language.  I hope the same isn't
true of your favorite programming language or you're going to need an 
excellent memory to recall what all your code was originally meant to do.
-- 

| Randy Crawford        crawford@mitre.org        The MITRE Corporation
|                                                 7525 Colshire Dr., MS Z421
| N=1 -> P=NP           703 883-7940              McLean, VA  22102