[Wittrs] Re: Formal and Natural languages

  • From: "jrstern" <jrstern@xxxxxxxxx>
  • To: Wittrs@xxxxxxxxxxxxxxx
  • Date: Sun, 16 Aug 2009 00:07:38 -0000

--- In Wittrs@xxxxxxxxxxxxxxx, "iro3isdx" <xznwrjnk-evca@...> wrote:
>
> 
> I thought it appropriate to start a new  thread for this.  It 
> starts as a reply to Josh's post  in the "Ownership and Privacy" 
> thread <http://groups.yahoo.com/group/Wittrs/message/967> .
> 
> 
> > Let us stipulate that natural languages are not fully formal,
> > and formalized languages are not fully natural.
> 
> Okay, thats a starting point.
> 
> 
> > In short, even if they are two different kinds of things,
> > I suggest we need to understand both to understand either.
> 
> That may well be true.
> 
> When referring to a "formal language", I shall mainly be thinking 
> of computer programming languages such as C, pascal, algol, 
> assembler languages and the like.  However, much of the discussion 
> might also apply to something like first order predicate calculus 
> (FOPC).

OK.

> With a formal language, we have clear rules of syntax.  These are  
> given precise definitions.  The definitions are written in a meta  
> language, usually English or other natural language.  Anything  
> written in a natural language risks ambiguity, because of the  
> inherent ambiguity of that natural language.  However the 
> definitions  for a formal language are usually written in a way 
> that minimizes  any possible ambiguity. While there might still be 
> problems in  following a rule (computer programmers often make 
> syntax errors),  they are not the kind of problem that Wittgenstein 
> discussed for  natural languages.  When a programmer fails to 
> follow the rules,  the compiler informs him of that error, often 
> with a failure of the  program to compile.  We might say, using
> the terminology of Al Gore,  that the compiler is a controlling
> authority for the formal language.

Rather, the specification is the controlling authority
for the compiler, and the underlying machine is the controlling
authority for what the compiled program "means".

We might note that even compiled programs "make errors", and one
can spend all day categorizing the types of errors, broadly speaking
in specification, compilation, machine errors, OS side effects,
timing errors, etc.

I spend a fair amount of my software career, cleaning up after
people who were never taught these things.  Which is, after all,
pretty much everyone, except for Capers Jones, who did write a 
book on the topic, and maybe the six people who ever read it.

http://search.barnesandnoble.com/Assessment-and-Control-of-Software-Risks/T-Capers-Jones/e/9780137414062/?itm=3


> For natural languages, I have suggested that there are no actual  
> rules. There are some statistical trends that people formulate  
> as rules, but there is nothing to enforce adherence to those rules  
> (that is, there is no controlling authority).

Yes, on reviewing at lunch, I am reminded that this is after all
Dr. Chomsky's position on the matter as well.

> We use a natural language to communicate information about the  
> external world, or about the social/cultural world.  Within 
> natural language expression, there are references to things in 
> the world.

And indeed, about our internal states.



> A formal language isn't really a communication language.  Or at 
> least it is not a communication language in the sense that we 
> use natural languages for communication.  Rather, a  formal 
> language is a specification language.  We do, of course, 
> communicate specifications. But it is a far more limited notion 
> of communication.

Specifications are more limited than ... what?

Surely in some ways they are more general, capable of being
realized in many ways.

(and this from Mr. Particular)


> What is specified, are internal operations to be used in a 
> computation.  

Ah, one needs to be very careful here.

A particular program, specifies rather particularly.  Are these
"specifications"?  Difficult question.  Usually in the field, the
term "specification" suggsts "requirements", like "write a program
to calculate the payroll". But put that aside.

To what degree does a program, for example any .exe file on your
windows PC, "specify"?  It specifies a potentially unlimited number
of things that will occur, depending on what happens at execution
time, but what really is the relationship between this intensional
form, and the extension that is eventually realized?


> There is no reference to external things in the world.  
> A programmer might use a variable name such as "accounts_payable", 
> indicating an intention of things in the world on which the 
> computation is to be performed. But that intention is not any part 
> of the program.  All that the program specifies are the 
> computational operations to be performed.

Again, I would suggest we need to consider both the intensional
and extensional states of the program - by which I mean the states
of the computer running the program, which at that time comprises
the program as well.  In fact, the program is a rather dull entity,
until we get to runtime.


> I am tempted to say that a formal language does not refer to  
> concepts, though of course we do have concepts that relate to  
> computational operations.

Vade retro me Satana.

If anything, I'd say it is quite easy to make a formal language
refer to whatever it is there may be to refer to - insofar as any
language qua language ever refers to anything.

IOW, this seems just exactly the wrong place to try to draw
a line between natural and formal languages - except perhaps to
the further detriment of the natural language.

> Incidently, in his 1975 "The Language of Thought", Fodor mentions 
> computer languages to illustrate his idea of a language of thought. 
> However, a formal language would not be of any use at all for the  
> kind of LoT that Fodor wants, because it has no actual concepts  
> that refer to things in the external world.

Whoa there cowboy.

First, you just gave into the tempation you described above.
At the least, I will say a prayer for you.

Second, the purported shortcoming, EVEN IF IT WERE THE CASE,
might not be the problem you suggest.

Certainly, the use to which Fodor puts the formal language is
to underlay the natural language.  Either Fodor is utterly and
completely wrongheaded about LOT, or else it manages to do just
what it needs to do, which I suggest is the case.

And this is the point - If Fodor were wrong, what possible 
explanation could you give for how any natural language 
does what it does?  Well, none.  Which I mention to forstall
the reply that you could give from reading Chomsky, which
is that no explanation is needed or desired.  I suppose this
is just the difference between Chomsky and Fodor - Fodor
attempts just this explanation, as I suggest anyone writing
in this day and age, must.

Josh


Other related posts: